네트워크 8

[TCP/IP stack] stack_5. 응용 계층 : DHCP, DNS, NAT

여러 응용 프로그램들이 이 계층에 속한다. 물론 우리가 만드는 응용프로그램도 이 계층에 속한다. 응용 계층엔 종단간 통신에 꼭 필요한 여러 프로토콜들이 존재하는데, - DHCP 1. dynamic host configuration protocol 의 약자로 사설 서브넷 망에 연결되는 호스트들의 IP주소를 자동으로 할당해주는데 쓰이는 프로토콜이다. 2. 기법의 핵심은 브로드캐스팅을 적극 활용한다는것과 DHCP 프로토콜의 DHCPOFFER, DHCPREQUEST, DHCPPACK 패킷을 활용해 호스트와 서버가 서로를 특정하고 주소를 할당해주는 것이다. - DNS 1. domain name system의 약자로 우리가 74.125.224.112 대신 www.google.com 이라고 입력해도 구글에 접속할 수..

네트워크 2021.12.06

[TCP/IP stack] stack_4. 전송 계층 : Port, UDP, TCP

네트워크 계층까지가 네트워크상의 특정 기기까지 어떻게 찾아가느냐의 문제였다면 전송 계층은 호스트상에 구동중인 프로세스들 중 특정 프로세스를 찾아가는 방법의 구현을 담당한다. 이때 사용되는 핵심 개념이 '포트'이고 많이 들어봤을 UDP와 TCP가 바로 전송 계층의 핵심 프로토콜이다. - Port 1. 포트는 16비트의 부호 없는 숫자로서 특정 호스트의 통신 종단점을 나타낸다. ( 프로세스를 특정하는데 쓰인다는 뜻이다 ) 2. 이론상 프로세스는 어떤 포트든 자신과 바인딩하여 사용할 수 있다. 3. 하지만 다른 두 프로세스가 같은 포트에 바인딩하게되는경우 해당 포트를 찾아온 데이터를 어느 프로세스에 전달해야하는지 난해해지는 문제가 발생하기 때문에 대부분의 운영체제에서는 같은 포트에 바인딩하려 할 때 특별한 플..

네트워크 2021.12.06

[UDP] NAT 투과 방법 : STUN 기법

편리한 인터넷 사용을 도와주는 NAT은 테이블에 존재하지 않는 패킷은 버리기 때문에 뜻하지않게도 중요한 외부로부터의 연결을 차단해버리는 현상이 발생한다. 그래서 원활한 접속이 이루어질 수 있도록 조치를 취해줘야 하는데, 이를 위해 고안된 방법 중 하나가 바로 STUN이다. 이 방법의 핵심은 두 가지라고 생각된다. 1. 모든 호스트가 접속 가능한 중개 호스트. 2. 패킷이 버려질걸 알면서도 패킷을 보내는 작업. 이 작업을 한 번 진행함으로써 NAT 테이블에 해당 항목이 생기고, 추후에 해당 항목의 호스트가 보낸 패킷을 버리지 않게되어 정상적인 수신이 가능해진다. * STUN (simple traversal of UDP through NAT) 기법은 그 이름에서 알 수 있다시피 UDP에서만 동작한다.

네트워크 2021.12.04

장거리 통신 시스템의 진화 : ARPANET 이전과 이후

- ARPANET 이전의 시대 서킷 스위칭 : 전용 회선을 할당해 정보를 송수신 한다. 해당 연결이 끝날 때까지 다른 호스트들은 해당 회선을 사용 하는것이 불가능했다. - ARPANET 이후의 시대 패킷 스위칭 : 후에 ARPANET이 개발되면서 만들어진 신기술이다. 송수신에 있어서 회선을 전용으로 할당할 필요가 없게 만든 기술로 송수신 내용을 패킷이라는 작은 뭉치로 나눈 뒤 목적지와 출발지를 기입해 송신한다. 네트워크의 각 노드는 수신한 패킷을 저장하고 목적지에 가까운 다른 노드에 이를 전달(store and forward)한다. 이렇게 함으로써 여러 호스트가 회선을 공유해 효율적인 네트워크를 만드는것이 가능해졌다. 이후 이 패킷 스위칭이라는 개념을 구체화시키기 위해 여러 프로토콜이 생겨났다. ex) ..

네트워크 2021.11.14

[TCP/IP stack] stack_3. 네트워크계층 : IPv4, IPv6

https://ardmos.tistory.com/entry/%EB%A7%81%ED%81%AC%EA%B3%84%EC%B8%B5-%EC%9D%B4%EB%8D%94%EB%84%B7?category=234628 [TCP/IP stack] stack_2. 링크 계층 : 이더넷 여기부터 컴퓨터학의 영역 물리적으로 연결되어있는 호스트들끼리 물리계층을 통해 정보를 주고받을 수 있는 수단을 제공해주는 계층 사용되는 프로토콜 그룹에는 이더넷이 존재 - 이더넷 1. ardmos.tistory.com 앞서 정리한 링크 계층의 한계가 네트워크 계층의 탄생 이유이고 하는 일 이다. 네트워크 계층의 대표적인 프로토콜은 IPv4와 IPv6가 있다. - IPv4 1. 가장 널리 사용되는 프로토콜. 32비트의 숫자 주소로 8비트씩 마침..

네트워크 2021.11.14

[TCP/IP stack] stack_2. 링크 계층 : 이더넷

여기부터 컴퓨터학의 영역 물리적으로 연결되어있는 호스트들끼리 물리계층을 통해 정보를 주고받을 수 있는 수단을 제공해주는 계층 사용되는 프로토콜 그룹에는 이더넷이 존재 - 이더넷 1. 호스트를 식별하기 위해 MAC 주소를 사용한다. ( MAC 주소는 제조사가 네트워크 기기를 제조할 때 부여하는 고유한 값으로, 다른 기기와는 겹치지 않는다 ) 2. 목적지 MAC 주소와 발신지 MAC 주소를 가진 패킷을 주고받으며 통신한다. 3. 특정 기기를 목적지로 하는것이 아닌, 네트워크상의 모든 호스트에 전달하고자 할 때는 목적지 주소값에 FF:FF:FF:FF:FF:FF 라고 하는 특수 MAC 주소를 사용하면 브로드캐스트 된다. 4. 이더넷 표준 기준, 페이로드(보낼 수 있는 정보 MTU)의 최대 길이는 1500바이트이..

네트워크 2021.11.14