데이터 송수신 원리 1
프로토콜이란
통신을 하는데 필요한 약속, 통신 규약이 있고 여기에는 구문(syntax), 의미(semantic), 타이밍(timing)이 있다
인터넷에는 ip,tcp,udp 프로토콜이 존재한다
- IP(internet protocol) 여러 네트워크를 연결하는 프로토콜
- ARP(address resolution protocol) ip주소에서 각기기가 가지고 있는 MAC주소를 알아내는 프로토콜
- TCP(transmission control protocol) 인터넷등에서 상위 계층과 신뢰성을 높여 통신한다
- UDP(user datagram protocol) 인터넷등에서 상위 계층과 속도와 편의성을 우선하여 통신
- POP 이메일 수신 프로토콜
- SMTP 이메일 송신 프로토콜
- HTTP(hypertext transfer protocol) 웹브라우저와 웹 서버간 통신
- DNS(domain name system) dns서버에서 ip주소를 문의해서 도메인 이름을 ip주소로 변환
프로토콜의 차이는 프로토콜 스택이라는 계층구조를 이용해서 처리한다
OSI 7계층
프로토콜을 계층구조로 만든 개념이다
- 응용계층: 이메일, 웹 브라우저등 앱수준 규약이나 데이터를 처리한다(SMTP, POP, HTTP, DNS, FTP)
- 표현계층: 문자코드, 이미지, 동영상,포맷등을 처리 (SMTP, TELNET, FTP)
- 세션계층: 특정 통신 대상과 연결 상태를 관리 (TLS)
- 전송계층: 통신 대상으로 보낼 개개의 데이터 전송 처리 (TCP, UDP)
- 네트워크 계층: 네트워크 내부 세그먼트 간 통신 처리(IP, ARP, RARP, ICMP)
- 데이터 링크 계층: 세그먼트 내 컴퓨터나 스위치 리피터등과 연결을 처리(PPP, IEEE 802.3, IEEE 802.11)
- 물리계층: 케이블, 커넥터 미디어등 차이를 처리한다
TCP/IP 4계층
인터넷을 기준으로한 모델이다 물리+데이터 -> 1계층, 세션이상은 응용계층
- 응용계층: 세션, 표현 계층을 모은곳
- 전송계층: 특정 통신 대상으로 보낼 개개의 데이터 전송을 처리
- 인터넷 계층: 네트워크 내 세그먼트 간 통신을 처리
- 네트워크 인터페이스 계층: 컴푸터, 스위치, 리피터등 물리적 연결 처리
IP Protocol
UDP, TCP, HTTP의 기본이 된다 데이터를 올바른 목적지로 전송하는 최소한의 절차와 규칙을 규정
UDP: 포트 번호를 부여할뿐 처리과정은 IP protocol과 비슷
TCP: 포트번호 부여 오류검사, 재전송 처리등을 추가로 수행한다
IP Address 구조
ip주소는 출발 , 목적지를 식별하는데 사용된다
- ipv4 : 32비트로 구성 8.8.8.8 비트씩 점 구분
- ipv6: 128비트 구성 더 많은 개수를 표현 가능하다
MAC 주소는 기기 고유 식별자로 모든 기기에 하나씩 부여된다 45비트MAC과 IP는 사용된는 계층이 다르다
MAC 2계층 이하에서 사용되고 단말기를 식별하기위함
IP 3계층 이상에서 사용 네트워크 호스트를 식별한다
ARP
통신을 할때 mac주소를 조사하는 프로토콜이다
일반적인 lan에서 허브나 라우터가 네트워크를 묶어준다 연결된 장치의 애플리케이션은 주로 tcp/ip프로토콜(3계층 이상)을 사용하는데 장치간 통신시에 mac주소가 필요 하지만 mac은 2계층 이하에서 사용되기 때문에 application은 IP는 알아도 MAC은 모른다 -> 이때 ARP사용
ARP 작동 방식
mac를 알고자하는 ip주소 정보를 lan에 대상을 지정하지 않고 보낸다(대상을 지정하지 않고 보냄-> 브로드 캐스트)
모든 장치들이 패킷을 수신하고 ip주소가 같다면 mac을 회신한다
하지만 효율성을 위해 허브나 라우터에 ip - mac 대응표을 저장하는 경우도 있다
포트 번호
tcp/udp 프로토콜에서 사용되는 식별자로 ip 주소만으로 특정 불가능할때 사용한다
tcp/udp 헤더 처음 16비트에 목적지 포트와 출발지 포트를 저장한다 ip는 목적지 서버 지정이 가능하지만 application을 지정하지 못한다
0~1023은 wellknownport, 1024~65535 등록된 포트번호(어플리케이션에서 보조적으로 사용), 49152~65535 다이내믹/프라이빗 포트번호
- TCP
- 20: FTP(데이터) 클라이언트 간 파일 전송
- 21: FTP(프로토콜) FTP파일 송수신할 때 서버 로그인 처리
- 22: SSH 암호화 통신으로 보호된 원격로그인
- 23: TELNET 원격로그인
- 25: SMTP 메일 서버에 메일 송신
- 80: HTTP 웹브라우저와 웹 서버 사이 통신
- 110: POP3 자신에게 온 이메일 확인후 내려 박는다
- 143: IMAP 자신에게 온 메일을 서버에서 확인
- 443: HTTPS 암호화 통신으로 세션이 보호된 HTTP 통신
- UDP
- 53: DNS DNS 서버에 IP 주소 문의
- 67: DHCP(서버) ip주소 자동할당 관리 서버
- 68: DHCP(클라이언트) DHCP가 자동적으로 IP주소를 할당하는 기기(네트워크 호스트)
- 123: NTP 컴퓨터시간을 표준 시간과 동기화