본문 바로가기
CS/네트워크

네트워크 스터디 1주차 - 네트워크 전반, 데이터 송수신

by 데브겸 2024. 2. 11.

네트워크란 여러 개의 시스템이 연결되어 있는 통신망. 인터넷은 이 통신망 중 하나. 인터넷은 문서, 그림, 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크 (즉 네트워크가 조금 더 포괄적인 개념). 인터넷이라는 통신망을 바탕으로 웹 서비스(www)를 이용하는 것. 인터넷 통신망 안에서 웹 말고도 다른 서비스를 이용할 수도 있음.

 

네트워크는 1) 크기에 따른 분류 2) 연결 형태의 따른 분류가 있을 수 있음

 

크기에 따른 분류

네트워크는 크기에 따른 분류와 연결 형태에 따른 분류가 있음. 크기로 구분하면 LAN, WAN, MAN 등이 있음. LAN(Local Area Network)은 가까운 지역을 하나로 묶은 네트워크. WAN은 멀리 있는 지역을 한데 묶은 네트워크인데, LAN과 LAN을 다시 하나로 묶은 것이라 볼 수 있음.

 

 

연결 형태에 따른 분류

여기에서 Star형과 Mesh형 정도 기억해두면 좋음. Star형의 경우 중앙 장비에 모든 노드가 연결되어 있는 형태. 가정집에서 공유기를 통해서 핸드폰, 컴퓨터, TV 등이 연결되는 형태를 생각해보면 됨. Mesh 형은 여러 노드들이 서로 그물처럼 연결되어 있는 형태. LAN은 Star형, WAN은 Mesh형으로 되어 있는 경우가 많음. 하지만 실제 인터넷은 여러 형태를 혼합한 형태. 하나의 LAN 대역을 만들 때 Star로 만드는 이유는 멀리 연결하면 비용이 많이 들고, 유선 연결 시 구리선은 길이와 저항이 비례하기 때문)

 

 

네트워크 통신 방식 & 프로토콜

앞에서 배운 형태로 연결되어 있는 네트워크 통신망에서 어떻게 통신하는가에 대한 내용. 특정 대상이랑만 1:1로 통신하는 유니 캐스트, 특정한 다수와 1:N으로 통신하는 멀티 캐스트, 네트워크에 있는 모든 대상과 통신하는 브로드 캐스트가 존재함.

 

그럼 컴퓨터는 어떻게 수많은 컴퓨터들 중에서 내가 통신하고자 하는 그 컴퓨터를 특정해낼 수 있을까? 어떤 규칙에 맞게(프로토콜) 통신을 하면 됨. 네트워크 프로토콜이란 네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어느 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식.

 

 

OSI 7계층과 프로토콜

 

네트워크 상에서 전달되는 데이터를 통칭하는 말로 ‘패킷(Packet)’이 있음. 네트워크에서 전달하는 데이터의 형식화된 블록임. 패킷은 제어 정보와 사용자 데이터로 이루어지며 사용자 데이터는 페이로드라고도 함. 캡슐화는 데이터를 누구에게 보낼 때 일어나는 일. 여러 프로토콜을 이용해서 데이터를 감싸고 또 감싸고. 프로토콜을 붙일 때 위 계층에서 아래 계층으로 포장해서 보냄. 반대로 데이터를 받을 때는 하위 프로토콜부터 까보는 것.

 

2계층에서 PDU(Protocol Data Unit)는 프레임, 3계층에서 패킷, 4계층에서 세그먼트라고 부름. 단, 3계층에서 ‘패킷’은 통신 상에서 주고받는 데이터를 일반적으로 부르는 ‘패킷’과는 의미하는 바가 다름간혹 바로 위 사진처럼 2-3-3 형식으로 프로토콜이 붙는 경우가 있음. 만약 그렇다며하면 (바깥→안) ARP → IP → ICMP 순서대로 붙는다. 그리고 IP랑 ARP가 같이 쓰이진 않음.

와이어샤크로 HTTP 요청이 안 보이는 경우가 많은데, 이는 HTTPS 프로토콜을 사용하고 있기 때문. HTTPS 패킷을 확인하려면 tls, ssl을 입력해서 보면 되는데 암호화된 트래픽이기 때문에 패킷 내용 자체는 분석할 수 없음. 만약 정말 패킷 내용을 보고 싶으면 TLS 및 HTTPS 트래픽을 복호화하여 볼 수 있긴 하지만 안 되는 경우도 있음.