네트워크와 인터넷 (Network & Internet)
네트워크와 인터넷
컴퓨터 네트워크(Computer Network)란?
컴퓨터와 컴퓨터가 연결상태에 있어 서로 데이터를 주고 받을 수 있 물리적 상태
네트워크에서 프로토콜은 컴퓨터와 컴퓨터간에 데이터를 주고 받기 위한 일련의 규격을 말하는 것으로 대표적인 프로토콜은 다음과 같습니다.
- TCP/IP: 오늘날 컴퓨터 네트워크의 기본 프로토콜. 인터넷도 TCP/IP 기반.
- 엄밀하게 말하면 TCP/IP는 Internet Protocol Suite 의 일부로 데이터전송 계층의 TCP와 인터넷 계층의 IP를 함께 부르는 용어 입니다.
- HTTP : 월드와이드웹의 기본 프로토콜.
- SMTP : email을 주고받기 위한 기본 프로토콜. (pop3, IMAP도 있음)
- FTP : 파일전송 프로토콜
LAN(랜)이란?
랜은 Local Area Network 의 줄임말로 말 그대로 근거리의 컴퓨터들을 연결한 네트워크를 말합니다. 여러 방식의 랜이 사용 되었지만 지금은 TCP/IP 프로토콜을 사용하는 이더넷(Ethernet) 방식을 보통 랜이라고 합니다. 유선의 경우 UTP 케이블로 연결되며 무선의 경우 WIFI 통신 규격에 따라 네트워크에 연결됩니다.
TCP/IP 송수신 과정
서버에 설정된 컴퓨터의 ip로 해당 컴퓨터를 찾고, port를 이용해서 통신을 시도, 데이터 반환한다.
- 소켓 생성
- 클라이언트 소켓과 서버의 소켓연결
- 데이터 송수신
- 소켓 연결 종료
IP주소
IP 주소는 인터넷에 연결된 컴퓨터에 부여되는 고유 주소 입니다. 총 12자리로 0~255 까지의 십진수로 각각 .으로 구분한 4영역으로 표현됩니다.
- IP주소는 인터넷에 연결된 컴퓨터의 고유 주소 이므로 주소를 알면 해당 컴퓨터에 누구나 접속 가능.
- IP주소를 효율적으로 활용하기 위해 임의의 IP주소를 할당하는 방식이다. 동적 호스트 설정 통신 규약(DHCP)를 이용한다.
- 많은 숫자의 조합이 가능하지만 스마트폰 까지 인터넷 사용이 확대 되면서 IP주소가 부족해 짐.
- IP 부족 문제 해결을 위해 새롭게 6자리 IP 주소 체계인 IPv6 가 나옴.
- 네트워크 기술의 발전으로 공인IP 가 아닌 사설IP로도 대부분의 인터넷 서비스 이용이 자유로워짐.
MAC Address(맥 주소)
맥 어드레스는 컴퓨터간 데이터를 전송하기 위해 있는컴퓨터의 물리적 주소입니다.
여기서 컴퓨터 주소는 IP주소로 알고 있을텐데, 저 멀리 있는 컴퓨터와 통신하기 위해서는 IP주소를 사용하는 게 맞는데 내부적 어떻게 동작하는지를 들여다 보면 실제로는 IP주소를 MAC 어드레스로 바꿔 사용하기 때문에 IP주소를 사용한다는게 결국 MAC 어드레스를 사용한다는거랑 같다.
- 필요한 이유
- 만약에 한국이 아닌 다른 나라 혹은 북극 끝자락에 어떤 A라는 컴퓨터와 통신을 하고 싶다고 한다. 하지만, IP주소가 A라는 컴퓨터라는 걸 사실 확실하게 보증할 수 는 없다. 우리나라의 지번주소가 도로명 주소체계로 바꼈듯이, IP주소는 변동가능성이 있기 때문이다.
- 이때 결국 절대 변하지 않는 그 기계의 고유주소번호가 있어야 하는데, 그게 MAC 주소이다.
- MAC 주소는 한 마디로, 그 기계의 고유번호, 하드웨어만 가지고 있는 식별번호, 하드웨어를 구분하기 위한 주소이다. 마치 사람을 식별해주는 주민등록번호 같은 느낌이다.
PORT(포트)란?
Port(포트)란 IP 내에서 애플리케이션 상호 구분(프로세스 구분)을 위해 사용하는 번호이다.
포트 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미한다.
이미 사용 중인 포트는 중복해서 사용할 수 없다.
그 중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다.
반드시 알아야 할 잘 알려진 포트 번호
- 22 : SSH
- 키를 공개키/개인키 기반으로 데이터를 암호화하고 있다. 데이터는 암호화되어 전송되기 때문에 임의의 사용자가 데이터를 조회하여도 원본의 데이터를 보는 것은 불가능하다.
- 80 : HTTP
- HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이였기 때문에, HTTP로 비밀번호나 주민등록번호 등을 주고 받으면 제3자가 정보를 조회할 수 있었다. 그리고 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다.
- 443: HTTPS
- HTTP에 데이터 암호화가 추가된 프로토콜이다. HTTPS는 HTTP와 다르게 443번 포트를 사용하며, 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 공개키 암호화(ssh)를 지원하고 있다.
DNS(Domain Name Service)
DNS는 IP주소를 DNS 는 복잡한 IP주소 대신 이름을 통해 해당 컴퓨터를 찾아갈 수 있도록 만든 서비스 입니다.
- DNS 서비스 이용을 위해서는 DNS 서버가 지정되어 있어야 하며 보통 IP주소가 할당될 때 자동으로 설정된다.
- 도메인 이름은 전세계적으로 ICANN 이라는 기관에 의해 관리되며 국내에서는 KRNIC을 통해 통합 관리한다.
- 도메인 이름은 사유물이 아닌 공공재로 구분되어 특정기관이나 개인이 사적으로 독점할 수 없다.
- 개인도 비용을 지불하면 도메인 이름을 만들 수 있다.
DNS의 구성은 호스트명.도메인이름.구분자 로 이루어 집니다.
호스트명
해당 도메인에서 관리하는 컴퓨터의 이름입니다. blog.naver.com, cafe.naver.com 의 blog 와 cafe 가 호스트 이름 입니다.
도메인이름
기관별로 할당된 고유의 이름 입니다. naver.com , kakao.com, google.com 에서 naver, kakao, google 에 해당 합니다.
구분자
도메인의 성격에 따라 기업은 .com, 대학은 .ac.kr 혹은 edu, 통신사는 .net 등과 같이 해당 기관의 성격을 구분하는 것으로 국가 및 정부기관등의 구분자에 대해서는 일반인 사용에 제약이 있습니다.
브라우저 렌더링 과정
- 첫번째 단계 : 브라우저는 읽어들인 문서를 파싱하여 최종적으로 어떤 내용을 페이지에 렌더링할 지 결정합니다. (이 단계를 거치면 렌더 트리가 생성이 됩니다.)
- 랜더 트리
- 웹 페이지에 표시될 HTML 요소들과 이와 관련된 스타일 요소들로 구성됩니다. 브라우저는 렌더 트리를 생성하기 위해 아래와 같이 두 모델이 필요합니다.
- DOM(Document Object Model): HTML 요소들의 구조화된 표현 입니다.
- CSSOM(Cascading Style Sheets Object Model): 요소들과 연관된 스타일 정보의 구조화된 표현 입니다.
- 웹 페이지에 표시될 HTML 요소들과 이와 관련된 스타일 요소들로 구성됩니다. 브라우저는 렌더 트리를 생성하기 위해 아래와 같이 두 모델이 필요합니다.
- 랜더 트리
- 두번째 단계 : 브라우저는 해당 렌더링을 수행합니다.
* 직접 찾아보며 정리한 내용입니다.
Notion : https://noyclah.notion.site/506820671d614325a5cad4f7d9815c1f
'공부 > 네트워크 관련' 카테고리의 다른 글
터미널과 서버 (0) | 2022.06.01 |
---|---|
암호화 / 복호화 (0) | 2022.06.01 |
Git(깃) (0) | 2022.06.01 |
Process 와 Thread (0) | 2022.06.01 |
OSI 7계층과 TCP/IP (0) | 2022.06.01 |
댓글
이 글 공유하기
다른 글
-
암호화 / 복호화
암호화 / 복호화
2022.06.01 -
Git(깃)
Git(깃)
2022.06.01 -
Process 와 Thread
Process 와 Thread
2022.06.01 -
OSI 7계층과 TCP/IP
OSI 7계층과 TCP/IP
2022.06.01