네트워크/개념

[NW] #4. 네트워크 통신 구조 ( PC 내부, TCP / IP 기준 )

코딩하는상후니 2022. 9. 26. 18:00

 

 


 

 

 
 

* 네트워크 통신 구조

 
 
=> 세부적으로 알아야할 것들이 매우 많지만
대략적인 구조를 알기 위해서 참고된 링크들을 통해 나름대로 정리해봤다.
 
 
우선, 기본적으로 알아야할 개념 몇 가지를 살펴보자.
 
 
 
 
 
 
 
 

* TCP / IP

 
 
 
아마 컴퓨터 공학을 조금이라도 공부해본 사람이라면 빼놓을 수 없는 단어일텐데,
한마디로 정의하자면 'Protocol' 이다.
 
즉, 규약 ( 규칙 ) 이라는 말인데
TCP ( Trasmission Control Protocol ) 는 앞서본 4 계층 ( transport ) 에서 쓰는 규약이다.
IP ( Internet Protocol )3 계층 ( network ) 에서 쓰는 규약이다.
 
따라서,
TCP/IP 는 3,4 계층에서 쓰는 규약을 통틀어 말하고
데이터를 보내는 쪽에서 이것들을 거쳐서 송신하고
받는 쪽에서도 TCP/IP 를 통해서 해당 데이터를 분해해서 읽을 수 있다.
 
 
TCP/IP 는 오늘날 인터넷을 이루는 '핵심 프로토콜' 이라고 말할 수 있다.
TCP/IP 를 기본으로 네트워크 통신을 한다고 생각하면 된다.
 
 
이제부터 설명하는 모든것은 TCP/IP 기준이다.
 
( TCP/IP 에 관한 자세한 것들 ( 3-way handshake, TCP/IP Header ) 등은 나중에 따로 정리할 것임. )
 
 
 
 
 
 
 
 

* NIC ( Network Interface Card )

 
 

 

 

 

 

 
=> PC 나 서버 등의 컴퓨터를 네트워크에 연결시키기 위한 '하드웨어 장치'.
 
=> NIC 은 CPU 를 사용하지 않고 비트들을 전송하거나 수신할 수 있고
유선, 무선에서 사용하는 방식은 따로 있다.
 
'LAN 카드' 혹은 '어뎁터' 라고 불린다.
 
 
=> PC 에서 NIC 로 정보를 보내면 버퍼에 저장 후
네트워크에 맞는 시리얼 형태로 보내는 역할을 수행하는데 보통 'Ethernet' 을 사용한다.
 
 
=> 유선 랜카드의 경우 LED 를 통해 작동 상태를 파악할 수 있다.
 
 
만약,
Wifi 를 사용한다면 '무선랜 카드' 를 이용해야한다.
요즘엔 USB 형태로도 개발되어져있다.
 
 
 
 
 
 
 
 
 
 
 
 
 

* 이더넷 ( Ethernet )

 

 

 

 

 

=> 네트워크 기술의 하나로 가장 많이 사용되는 기술 규격 이다.
 
=> 가정이나 건물과 같은 로컬 환경의 컴퓨터 ( LAN ) 등을
네트워크에 연결하기 위해서 개발된 통신 표준.
 
 
=> 간단하게 '유선' 이라고 생각하면 된다.
 
 
 
 
 
 
 
 
 
 

* 와이파이 ( Wifi )

 
 

 

 

 

 

 

 

=> 무선랜 ( WLAN ) 에 연결할 수 있게 하는 기술로서
2.4 GHz 혹은 5GHz 무선 대역을 사용한다.
 
=> IEEE 802.11 에 기반하는 데이터 전송 규약이다.
 
 
=> 헤츠르가 발견한 전자기파의 원리를 이용한다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

* 데이터 통신 과정

 
 
=> 앞서 말했듯,
TCP/IP 를 기준하고 PC 내부의 동작만을 설명해보려 한다.

 

 

 

 

 

 

 
1. 프로세스는 Socket 을 통해서 데이터를 보내게 된다.
 
이 때의 데이터 단위는 'Stream'.
 
크기는 정해지지 않고 계속해서 커질 수 있다.
( ex. word 파일 , 쓰면 쓸 수록 크기가 늘어남. )
 
 
 
 
 
 
 
2. Transport ( 4계층 ) 으로 넘어가면서 Stream 데이터는 'Segmentation ( 분해 )' 되어진다.
 
분해된 데이터를 'Segment' 라고 하고 해당 크기는 MSS 에 기준한다.
( 보통 1460 byte. )
 
Segment 에 TCP Header 가 붙여지며 3계층으로 넘어간다.
TCP Header 의 크기는 20 byte 이다.
 
 
 
 
 
 
 
 
3. Network ( 3계층 ) 에서는 IP Header 가 붙여진다.
 
IPv4, IPv6 기준으로 한 IP 주소 데이터를 다룬다.
 
IP Header 의 크기는 20 byte 이다.
 
이곳에서 다루는 데이터를 'Packet ( 패킷 )' 이라고 한다.
패킷의 크기는 MTU 에 의해 결정되며 MTU 의 크기는
 
최대치로 잡게 되면 총 1500 byte 이다. ( 보통의 경우 1500 byte 를 사용한다. )
 
최대 MSS ( 1460 byte ) + TCP Header ( 20 byte ) + IP Header ( 20 byte ) = 1500 byte.
 
 
 
 
 
 
 
 
 
 
4. L2 계층으로 넘어와선 Ethernet Header 가 붙게 된다. ( 유선 네트워크 기준 )
 
'MAC Address ( Media Access Control Address )' 를 다룬다.
 
이더넷, 와이파이를 포함한 대부분의 IEEE 802 네트워크 기술에 네트워크 주소로 사용됨.
( 48bit 로 이루어져 있음. )

 

 

이후 라우터를 거쳐서 네트워크로 나가게 된다.

 

 

 

 

 

 

 

 


 

참고 자료