본문 바로가기

분류 전체보기

(91)
7계층 HTTP 프로토콜 7계층 HTTP 프로토콜 ▶ HTTP ( HyperText Transfer Protocol ) 하이퍼 텍스트 전송 프로토콜로 다양한 기술들을 받아오는 프로토콜입니다. ▶ www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되어 지고 있습니다. -> 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능 HTTP 1.0과 HTTP 2.0 ▶ HTTP 특징 1. Reauest/ Respone ( 요청/ 응답 ) 동작에 기반하여 서비스 제공 ▶ HTTP 1.0의 특징 1. 연결 수립, 동작, 연결 해제의 단숨함이 특징 ( 하나의 URL의 하나의 TCP 연결 ) 2. HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송 HTTP ..
NAT와 포트포워딩 NAT ( Natwork Address Trenslation ) ▶ NAT은 IP패킷의 TCP/ UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말합니다. ▶ 패킷에 변화가 생기기 때문에 IP나 TCP/ UDP의 Checksum도 다시 계산되어 재기록해야 합니다. ▶ NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP주소를 사용하여 인터넷에 접속하기 위해서입니다. 하지만 꼭 사설 IP를 공인 IP로 변환하는 데에만 사용하는 기술은 아닙니다. ▶ 일반적인 네트워크의 모습 ▶ 사실상의 네트워크 포트 포워딩 ▶ 포트 포워딩 또는 포트 매핑( Port Mapping )은 패킷이 라우터나 방화벽과 같은 네트워..
4계층 프로토콜 UDP, TCP 4계층 프로토콜 UDP, TCP ▶ 4계층 전송 계층 ( Transprot layer )은 송신자의 프로세스와 수신자의 프로세스를 연결하는 서비스를 제공하는 계층이다. ▶ 전송 계층은 연결 지향 데이터의 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비를 제공한다. ▶ 전송 프로토콜 중 가장 장 알려진 것은 연결 지향전송박시으로 사용하는 전송제어 프로토콜( TCP ) 단순한 전송에 사용되는 사용자 데이터 프로토콜 ( UDP )가 있다. UDP 프로토콜 ▶ UDP 프로토콜 ( User Datagram Protocol )은 데이터 그램 프로토콜 ( Universal Datagram Protocol )이라고 일컫기도 한다. ▶ UDP의 전송 방식은 너무 단순해서 서비스의 신뢰성이 낮고, 데..
포트번호 정리 포트번호 ▶ 특정 프로세스와 특정 프로세스가 통신을 하기 위해 사용하는 것이 포트번호 ▶ 하나의 포트의 하나의 프로세스만 사용가능 단, 하나의 프로세스에는 여러 개의 포트 사용이 가능 ▶ 포트 번호는 일반적으로 정해져 있지만, 무조건 지켜야 하는 것은 아님 포트번호 정리 ▶ Well-Konown 포트 HTTP+Secure = HTTPS ▶ Registered 포트 ▶ Dynamic 포트 연결상태 확인하기 ▶ Netstat -ano PID: 고유 프로세스 번호 ▶ 네이버 접속 후의 피드 ▶ 확인
IPv4의 조각화 IPv4의 조각화 ▶ 조각화란 큰 IP 패킷들이 적은 MTU ( Maximum transmisson Unit )을 갖는 링크를 통하여 전송되려면 여러 개의 작은 패킷으로 쪼개어 조각화 되어 전송되어야 한다. ▶ 즉 목적지까지 패킷을 전달하는 과정에 통과하는 각 라우터마다 전송에 적합한 프레임으로 변환이 필요하다. ▶ 일단 조각화되면, 최종 목적지에 도달할 때까지 재조립되지 않는 것이 일반적이며 IPv4에서는 발신지 뿐만 아니라, 중간 라우터에서도 IP 조각화가 가는 하고 IPv6에서는 IP 단편화가 발신지에서만 가능하며, 재조립은 항상 최종 수신지에서만 가능하다. 조각화 과정 ▶ 조각화된 패킷 IPv4의 20byte를 뺀 후, 조각화를 진행 위의 그림과 같이 MTU에 맞춰 조각화를 진행 ▶ 예시) MTU..
3계층 IPv4 프로토콜과 ICMP 프로토콜 3계층 IPv4 프로토콜과 ICMP 프로토콜 ▶ IPv4는 네트워크 상에서 데이터를 교환하기 위한 프로토콜이지만, 데이터가 정확하게 전달될 것을 보장하지는 않음. ▶ 증복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있음 (악의적으로 이용되면 DoS 공격이 됨 ) ▶ 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장 IPv4 프로토콜의 구조 ▶ 구조설명 Version: IP 프로토콜의 버전 ( 대부분이 4, 16진수 중 하나 ) IHL ( Hearder Length ): 헤더의 길이 표현법 = n/4 최소 20 ~ 60 Type of Service ( TOS ): 데이터의 형식으로 현재는 잘 쓰이지 않으며 0으로 비워둠 Total Length: 모두를 합친 전체의 길이를..
3계층 ARP프로토콜 3계층 ARP프로토콜 ▶ ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한MAC주소를 IP주소를 이용해서 알아오는 프로토콜 ▶ 같은 네트워크 대역에서 통신을 한다고 하여도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요하며, 이 때 IP주소는 알고 있어도 MAC 주소는 모르더라도 ARP를 통해 통신이 가능 ▶ ARP는 같은 대역에서만 사용가능 ARP프로토콜의 구조 Hardware type, Protocol type, Hardware Address Length, Protocol affress Length는 모두 고유의 값을 가짐 Opcode: 세팅이 1이면 요청, 2면 답하는 것으로 세팅이 됨 ▶ ARP 프로토콜의 프로세스 발신자 ..
네트워크 나누는 방법 네트워크를 나누는 방법 ▶ 네트워크를 나누는 방법​1) 네트워크 ID와 서브넷 마스크를 2진수로 변경 2) 서브넷 마스크를 1씩 증가시키면서 네트워크를 쪼갠다. ( 1증가할 때마다 2배로 나눠진다. ) 3) 네트워크 ID에서 서브넷 마스크가 증가한 부분을 1로 꽉 찰때까지 1씩 증가시킨다. 4) 쪼개진 네트워크 ID는 1씩 증가시킨 값 그대로 5) 쪼개진 네트워크 브로드캐스트 주소는 뒷 부분을 전부 1로 채운다. 6) 각 네트워크에서 사용 가능한 IP주소의 범위는 네트워크 ID +1, 브로드캐스트 주소 -1 연습 ▶ 192.168.0.0/16 인 네트워크를 4개의 네트워크 대역으로 나누시오. 1. 192.168.0.0 = 11000000.10101000.000000000.00000000 서브넷마스크 = ..