용어 정리
OSI 7 계층
- 네트워크 구성요소를 7새의 계층으로 역할을 나눈 표준 모델
- 각 계층별 역할을 통해 통신 규걱을 만족
- 하위 계층은 하드웨어, 상위 계층은 소프트웨어로 구현
TCP/IP
- OSI 7계층이 나오기전 널리 사용되던 사실상 표준 역할
- 각 계층별 역할에 따라 역하리 나눠짐
IP 주소
- 통신 자료를 최종적으로 전달하기 위해 필요한 송/수신 위치정보
- 보통 IPv4의 주소 사용, IPv6가 개발됨
패킷 교환 (Packet Switching)
- 종단간에 전송되는 데이터를 패킷이라는 단위로 전달
- 패킷은 네트워크를 통해 일정한 순서없이 보내지며 어떤 경로를 통해 이동되는지는 네트워크 상황에 따라 다름
통신을 위한 기본 동작
- 요청 requests
- 인지 indicaite
- 응답 response
- 확인 confirm
네트워크 유형
- LAN (local Arae Network)
- WAN (Wide Area Network)
네트워크 토폴로지
- Ring : 기기끼리 연결, 기기간 회선 설치 수월, 장비 불량 발생 시 특정 장비 통신 불가
- Bus : 하나의 메인 회선 존재, 메인 회선에 기기 연결
- Star : 하나의 허브 존재, 허브에 연결
- Mesh : 하나의 장비가 여러 장비에 연결, 가장 빠르고 경로가 많음, 설치 회선이 복잡
네트워크 계층별 역할
OSI 7 계층과 TCP/IP의 관계
- Pyhsical : 일련의 2진 bit 변환
- Datalink : 두 node 간 통신관여, 흐름 제어 (mac addres)
- Network : 해당주소 체계에 따라 경로 설정 (ip addres)
- Transport : 양쪽 끝간의 신뢰성 보장
- Session : 프로그램간 논리적 접속
- Presentation : 문법, 구문, 체계 확립
- Application : 이메일, 웹브라우저 등
1. 물리 계층 Physical layer
💡 물리적 매체를 통해 비트 스트림 전송에 요구되는 기능을 담당
물리적 장치와 인터페이스가 전송을 위해 필요한기능과 처리절차 규정
물리층의 주요 기능
- 인터페이스와 매체의 물리적인 특성
- 비트의 표현 : 비트 전송하기 위해 전기적 또는 광학적인 신호로 부호화
- 데이터 속도 : 신호가 유지되는 비트의 주기를 규정
- 비트의 동기화 : 송신자와 수신자는 같은 클록 사용
Mac 필요
- 자유경쟁 (선착순)
- CSMA/CD (CSMA/Coillison Detection) : 한 slot의 크기 잼 신호, 16번 까지 재시도 , 충돌 감지 후 일정 시간이 지나고 다시 전송
- Token
2. 데이터링크 DataLink layer
💡 노드대 노드 전달의 책임
기능
- 프레임 구성
- 물리적 주소 MAC : 송신자와 수신자의 물리 주소를 헤더에 추가
- 흐름 제어 : 데이터 전송률 고려 전송
- 오류 제어 : 손실, 손상시 발견 및 재전송
- 접근 제어 : 순간에 하나의 장치만 동작하도록 제어
ARP (address resolution protocol)
- 주소를 해석하기 위한 프로토콜
- 논리적인 ip 주소를 물리적인 MAC주소로 바꿈
- 캐시를 통해 얻은 정보가 저장되고 20분 수명을 가짐
RARP (reserve address resolution protocol)
- 저장 장치가 없는 네트워크 단말기 등이 ip 주소를 얻기 위해 사용
물리주소의 데이터 전달과정
- 물리주소 10인 노드는 물리주소 87인 노드에 프레임을 보냄
- 데이터 링크 수준에서 이 프레임은 헤더에 물리주소를 가지고 있음. 여기서 오직 이 주소들만 필요
- 헤더의 끝에는 이 수준에서 필요한 다른 정보가 있음. 트레일러에는 보통 오류 검출을 위한 추가 비트들이 포함됨
3. 네트워크 계층 (Netword Layer)
💡 패킷을 발신지-대-목적지 전달에 대한 책임을 가짐
기능
- 발신지 대 목적지 전달
- 논리 주소 지정 : 상위 계층에서 받은 패킷에 발신지와 목적지의 논리주소를 헤더에 추가
- 라우팅 : 패킷이 최종 목적지에 전달될 수 있도록 경로르 지정하거나 교환 기능
네트워크 주요 프로토콜
- ICMP : 에러 발생 시 발생 원인을 알려주거나 네트워크 상태를 진단
- IGMP : 호스트가 멀티캐스트 그룹 구성원을 인접한 라우터에게 알리는 프로토콜
- IP : 네트워크 기기에서 논리적 실별을 위한 주소
네트워크 계층의 전달 흐름
- 네트워크 주소 A이고 물리주소가 10인 노드로부터 다른 근거리 통신망에 위치한 네트워크 주소가 P이고 물리 주소가 95인 노드로 데이터를 보냄
- 두 장치는 다른 네트워크에 위치해 있기 때문에 링크 주소만 사용할 수 없음
- 링크 주소는 자기 지역에서만 의미가 있음. 이제 필요로 하는 근거리 통신망의 경계를 지나서도 전송할 수 있는 전역적인 주소임. 네트워크 주소인 ip주소가 이 역할을 한다.
4. 전송계층 (Transport Layer)
💡 전체 메시지의 프로세스 대 프로세스 전달에 대한 책임을 가짐. 전체 메시지가 완전하게 바른 순서로 도착하는 것을 보장. 네트워크 층은 개별적인 패킷의 종단 대 종단 전송을 담당
기능
- 포트 주소 지정 : 포트 주소를 포함, 프로그램에게 전달
- 분할과 재조립 : 전달가능한 세그먼트 단위로 나눔, 순서번호를 통해 재조립 및 손실여부 판단
- 연결 제어
- 흐름 제어
- 오류 제어
전송 계층의 프로토콜
- TCP : 연결형 서비스로 가상 회선 방식 제공, 신뢰성 보장(3-way handshaking)
- UDP : 비연결형 서비스, 데이터 그램방식 제공, 신뢰성 낮음
- SCTP : TCP+UDP, 다중 연결 지원
메시지의 프로세스 대 프로세스 전달
전송 계층의 전달 예시
5. 응용 계층 ( Application layer)
💡 사용자가 네트워크에 접근할 수 있도록 함. 사용자 인터페이스 제공, 서비스
Application layer 프로토콜 및 프로그램
- FTP
- Telnet
- SMTP
- DNS
- HTTP
- DHCP
- Ping
- Tcpdump
- Tracerouter
- ….
각 계층과 프로토콜의 비교