본문 바로가기

C#/네트워크

C# 네트워크 프로그래밍

728x90

네트워크 모델

네트워크의 세부 기능들은 매우 복잡하고 다양하기 때문에, 이를 체계적으로 분류한 개념적인 모델을 만들었는데 이를 네트워크 모델이라 한다. 네트워크 모델 중 가장 대표적인 모델은 2가지인데, 전통적인 네트어크 모델인 OSI 7 Layer 모델과(최근의 네트워크는 거의 대부분은 TCP/IP를 기반으로 하고 있기 때문에) OSI Layer를 단순화한 TCP/IP 모델이 있다. 네트워크 모델은 각 Layer가 해야하는 역할을 구분하고 있는데, 비유하자면 상품을 주문받아 고객에게 발송하는데, 주문받는 사람 따로 있고, 주문 내용대로 박스에 넣는 사람 따로 있고, 고객 주소 레이블 붙이는 사람 따로 있고, 박스에 적힌 주소대로 배달만 하는 사람 따로 있는 것과 비슷한 구조이다.

 

OSI 7 Layer 모델

네트워킹의 기능을 7가지로 분류하는데, 각 Layer는 자신의 고유한 기능이 있다.

Layer 1은 와이어 레벨의 데이터를 다루는 것으로 예를 들어 전기 와이어에서 몇 볼트까지는 0이고 그 이상은 1인지 등을 다루는 레벨이다.

Layer 3은 라우팅과 트래픽 컨트롤을 위한 계층으로 호스트 주소를 가리키는 IP나 ARP, ICMP 등이 있는 Layer이다.

Layer 4는 메시지 세그먼트와 트래픽 제어와 관련된 계층으로 TCP와 UDP 등이 있는 Layer이다.

Layer 7은 Application 계층으로 웹 프로토콜인 HTTP, 파일전송을 위한 FTP, 메일 전송을 위한 SMTP 그리고 DNS 등이 이 Layer에 있다.

 

TCP/IP 모델

OSI Layer 모델에 비해 단순한 모델로써 4개의 계층으로 구성되어 있으며, 최근의 거의 모든 네트워킹이 IP를 사용하고 있다는 점에서 실제 네트워크 구혀네 보다 근접한 모델이다.

Layer 1은 Network Access Layer 혹은 Link Layer라고 불리우는데, 물리적인 네트워킹을 담당하는 계층이다.

Layer 2는 OSI의 Layer 3과 같은 것으로 IP 주소를 통한 호스트 라우팅을 담당하는 계층이다.

Layer 3은 OSI의 Layer 4와 같은 것으로 TCP/UDP를 통해 호스트 내 특정 포트에 접속하게 하는 계층이다. IP 계층이 특정 호스트(머신)까지 찾아가는 것을 담당한다면, TCP/UDP 계층은 그 머신의 어떤 포트에 접속해야 하는지를 결정하는데 이를 통해 실제 양쪽 프로그램 간 통신이 가능하게 되므로 이를 End-to-End Transport 프로토콜이라고 한다.

Layer 4는 TCP/UDP 상에 구현되는 응용 계층을 담당하는 Layer로 NetBIOS, Named Pipes, MIME, SSL/TLS, HTTP, FTP, SMTP, DNS 등 여러가지 응용 프로토콜들이 이 계층에 속한다.

 

[출처]

https://www.csharpstudy.com/net/article/1-csharp-%eb%84%a4%ed%8a%b8%ec%9b%8c%ed%81%ac-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%b0%8d

728x90

'C# > 네트워크' 카테고리의 다른 글

네트워크 소켓 통신을 하는 방법  (0) 2023.11.06
소켓  (0) 2023.11.06