네트워크
네트워크는 미 국방성에서 1969년 진행했던 아르파넷(ARPANET) 프로젝트에서 시작이 되었다. 이 프로젝트는 당시 냉전시대에서 핵전쟁을 대비하기 위한 통신망 구축을 위해서 추진이 되었으며, 회선 교환 방식에서 패킷 교환 방식으로 네트워크를 구축하게 되는데 이를 토대로 현재의 인터넷 통신 방식의 기반이 세워졌다.
회선 교환 방식
발신자와 수신자 사이에 데이터를 전송할 전용선을 미리 할당하고 둘을 연결하는 방식이다. 그래서 내가 연결하고 싶은 상대가 다른 상대와 연결 중이면, 상대방은 이미 다른 상대와의 전용선과 연결되어 있기 때문에 그 연결이 끊어지기 전에는 상대방과 연결할 수 없다.(즉시성이 떨어진다.)
패킷 교환 방식
패킷이라는 단위로 데이터를 나누어 전송하는 방식이다. 각 패킷에는 출발지와 목적지 정보가 있어, 패킷이 목적지를 향해 효율적인 방식으로 이동할 수 있다.
IP/IP Packet
IP(Internet Protocol)는 지정한 IP 주소(IP address)에 패킷(Packet)이라는 통신 단위로 데이터를 전달한다.
IP패킷은 전송 데이터를 무사히 전송하기 위해 출발지 IP와 목적지 IP와 같은 정보 포함되어 있다.
IP에서는 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요 없다.
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.
- 비신뢰성패킷의 순서를 보장할 수 없다.
- 중간에 패킷이 사라질 수 있다.
OSI 7 계층
OSI 7 계층은 국제 표준화 단체인 ISO에서 개발한 모델로, 컴퓨터 네트워크 프로로토콜 디자인과 통신 계층으로 나누어 설명한 것이다.
1계층 - 물리 계층: CDMA, GSM, NICs, CSMA/CD, Fiber
호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룬다.
2계층 - 데이터 링크 계층:FDDI, Ethernet, PPP
물리적 전송 오류를 감지하는 기능을 제공해 송수신 홋트가 오류를 인지할 수 있도록 한다.
3계층 - 네트워크 계층: IP, ICMP
데이터가 올바른 경로를 선택할 수 있도록 지원하는 계층이다.
4계층 - 전송 계층: TCP, UDP, NETBEUI
송신 프로세스와 수신 프로세스 간의 연결 기능을 제공한다. 안전한 데이터 전송을 지원한다.
5계층 - 세션 계층: RPC, SQL, NETBOIS, Sockets
전송 계층에서 제공하는 연결의 개념과 유사한 세션 연결을 지원하지만, 좀 더 상위의 논리적 연결이다.
6계층 - 표현 계층: GIF, JPEG, MPEG, MIME, ZIP, ASCII
전송되는 데이터의 의미를 잃지 않도록 올바르게 표현하는 방법을 다룬다.
7계층 - 응용 계층: HTML, DNS, SSL, SMTP, FTP
사용자를 위한 다양한 네트워크 응용 환경을 지원한다.
데이터 캡슐화
OSI 7 계층 모델은 송신 측의 7 계층과 수신 측의 7계층을 통해 데이터를 주고 받는다. 각 계층은 독립적으로 데이터가 전달되는 동안 다른 계층의 영향을 받지 않는다.
데이터를 전송하는 쪽은 데이터를 보내기 위해서 상위 계층에서 하위 계층으로 데이터를 전달한다. 이때 데이터를 상대방에게 보낼 때 각 계층에서 필요한 정보를 데이터에 추가하는데 이 정보를 헤더라고 한다. 이렇게 헤더를 붙여나가는 것을 캡슐화라고 한다.
데이터를 받는 쪽은 데이터를 하위 계층에서 상위 계층으로 데이터를 전달 받는다. 이 때 상위 계층으로 데이터를 전달하며 각 계층에서 헤더를 제거해 나가는 것을 역캡슐화라고 한다.
TCP/IP 4계층
IP 프로토콜보다 더 높은 계층에 TCP 프로토콜이 존재하기 때문에 IP 프로토콜의 한계를 보완할 수 있다.
1계층 - 네트워크 인터페이스 계층
OSI 계층의 물리 계층과 데이터 링크 계층에 해당하며 물리적인 주소로 MAC을 사용한다.
2계층 - 인터넷 계층
OSI 계층의 네트워크 계층에 해당하며 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅을 담당한다.
3계층 - 전송 계층
OSI 계층의 전송 계층에 해당하며 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다.
4계층 - 어플리케이션 계층
OSI 계층에서 세션 계층, 표현 계층, 응용 계층에 해당하며 TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.
TCP/IP 4 계층은 OSI 7 계층보다 먼저 개발 되었으며 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다. 실제 네트워크 표준은 업계 표준을 따르는 TCP/IP 4계층에 가깝다.
TCP(Transmission Control Protocol)
- 연결 지향 - 3 way handshake
- 데이터 전달 보증
- 순서 보장
- 신뢰성은 높지만 속도 느림
UDP(User Datagram Protocol)
- 비연결 지향
- 데이터 전달 보증 X
- 순서 보장 X
- 신뢰성은 낮지만 속도 빠름
'Network' 카테고리의 다른 글
[Network] Postman을 사용하여 API 사용하기 (0) | 2022.06.13 |
---|---|
[Network] REST API (0) | 2022.06.10 |