통신을 할 때 전송할 데이터(패킷)가 컴퓨터에서 LAN케이블로 나가고 라우터, DNS 순서로 데이터가 이동한다.
이동된 데이터들은 다시 라우터를 타고 목표가 되는 컴퓨터까지 전송되어 해당 컴퓨터의 목표가 되는 프로그램을 찾아 통신이 이루어진다.
이 통신의 형태들은 OS단계애서 설정되고, 프로그램을 작성할 때는 소켓을 통해 통신이 된다.
패킷
* 데이터를 여러 조각으로 나눠서 통신한다. 패킷이 목적지에 도탁 후 재조립되고, 효율적이다.
네트워크 프로그래밍
* 네트워크로 연결되어 있는 두 컴퓨터가 데이터를 주고받을 수 있도록 하는 것.
OSI 7계층 AND TCP/IP 4계층
OSI 7계층
- 응용 계층 (Application) : 사용자가 네트워크에 접근 할 수 있도록 해주는 계층으로, 인터페이스, 데이터베이스 관리 등 서비스를 제공 (예 - 텔넷, Http, SSH, FTP)
- 표현 계층 (Presentation) : 입/출력되는 데이터를 하나의 표현 형태로 인코딩,디코딩한다. 이해할 수 있는 포맷 변환 (예- 확장자)
- 세션 계층 (Session) : 통신 세션을 구성하는 계층으로 포트 연결이라 할 수 있다. 통신장치 간의 상호작용을 설정하고 유지하며 동기화한다. 응용과의 질서 제어. 통신 방법을 관리한다.
- 전송 계층 (Transport) : 메세지를 발신지와 목적지 간에 제어와 에러를 관리한다. 패킷 전송이 유효한지 확인하고 실패하면 되돌려 보낸다. (TCP. UDP) 게이트웨이
- 네트워크 계층 (Network) : 패킷을 목적지까지 전달을 책임진다. 프로토콜 식별, 논리 주소 관리 , 오류탐지 등을 담당한다. (IP) 라우터
- 데이터 링크 계층 (Data Link) : 물리적 네트워크 사이의 데이터 전송을 담당한다. 브릿지, 라우터
- 물리 계층 (Physical) : 데이터가 전송 될때 사용되는 물리적 매체. 허브, 라우터
TCP/IP 4계층
- 응용 계층 (Application) : TCP/IP 프로토콜을 이용하는 응용 서비스로 TCP or UDP가 지원하는 응용으로 구분할 수 있다.
- 전송 계층 (Transport) : Host 사이의 종점간 연결을 제공하고, 데이터 전달을 처리한다.
- 인터넷 계층 (Internet) : 데이터그램 방식(비연결형)으로 Host 사이에 IP 패킷을 전달하는 기능과 라우팅 등을 수행한다.
- 네트워크 접근 계층 (Network Access) : IP 패킷의 물리적 전달을 담당하는 기능을 제공. LAN, X.25 패킷망 등
TCP/IP 내부 계층 프로토콜