네트워크 모델 및 네트워크 프로그래밍

용어 사전

  • OSI(Open System Interconnect), 즉 개방형 시스템 상호 연결입니다. 일반적으로 OSI 참조 모델이라고 하며, 1985년 ISO(국제 표준화 기구) 기구에서 연구한 네트워크 상호 연결 모델입니다.
  • TCP(전송 제어 프로토콜), 전송 제어 프로토콜
  • IP(Internet Protocol) 인터넷 프로토콜 주소의 전체 이름은 IP 주소를 말하며 인터넷을 사용하기 위해 사용자에게 할당된 인터넷 프로토콜을 의미합니다.
  • TCP/IP는 네트워크 인터페이스 계층, 네트워크 계층, 전송 계층 및 응용 계층의 4개 계층으로 나눌 수 있는 프로토콜 그룹입니다.
  • 요약하면 OSI는 참조 모델이며 실제 응용 프로그램은 기본적으로 TCP/IP 4계층 프로토콜입니다.

*참고: TCP/IP4와 5 계층의 차이점은 실제로 기본 물리 계층과 데이터 링크 계층이 함께 정의되는지 여부입니다.

1. OSI 7계층 프로토콜 모델

1. OSI 7계층 모델의 구분

OSI 7계층 프로토콜 모델은 주로 애플리케이션 계층(Application), 프레젠테이션 계층(Presentation), 세션 계층(Session), 전송 계층(Transport), 네트워크 계층(Network), 데이터 링크 계층(Data Link), 물리 계층입니다. ( 물리적). 아래 그림과 같이.
각 계층은 자체 기능과 프로토콜을 구현하고 인접 계층과의 인터페이스 통신을 완료합니다. OSI의 서비스 정의는 각 계층에서 제공하는 서비스를 지정합니다. 특정 계층의 서비스는 이 계층과 그 아래 계층의 기능이며 인터페이스를 통해 상위 계층으로 제공됩니다. 각 계층에서 제공하는 서비스는 이러한 서비스가 구현되는 방식과 관련이 없습니다.

2. 각 레이어의 기능 정의

여기에서는 각 OSI 계층의 기능에 대한 일반적인 설명만 제공하고 각 계층은 실제로 복잡한 계층이기 때문에 자세히 다루지는 않습니다. 나중에 개인적인 방향에 따라 일부 레이어에 대한 심층 연구도 수행할 것입니다. 여기서 우리는 일반적인 이해를 가지고 있습니다. 최상위 계층인 애플리케이션 계층부터 시작합니다. 전체 프로세스는 A사와 B사 간의 상업 견적을 예로 들어 설명합니다.

<1> 응용 계층 OSI 참조 모델에서 사용자와 가장 가까운 계층은
컴퓨터 사용자를 위한 응용 인터페이스를 제공하고 사용자에게 다양한 네트워크 서비스를 직접 제공합니다. 일반적인 응용 프로그램 계층 네트워크 서비스 프로토콜은 HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 등입니다.

사실 A사의 상사는 우리가 언급한 사용자이고 그가 보내려는 상업 견적은 응용 계층에서 제공하는 네트워크 서비스입니다.물론 상사는 다른 서비스를 선택할 수 있습니다.예를 들어 비즈니스 계약을 보내는 것입니다. , 문의 양식 보내기 등

<2> 프레젠테이션 계층
프레젠테이션 계층은 응용 계층 데이터에 대한 다양한 인코딩 및 변환 기능을 제공하여 한 시스템의 응용 계층에서 보낸 데이터를 다른 시스템의 응용 계층에서 인식할 수 있도록 합니다. 필요한 경우 이 계층은 컴퓨터 내부의 다양한 데이터 형식을 통신에 사용되는 표준 표현으로 변환하기 위한 표준 표현을 제공합니다. 데이터 압축 및 암호화도 프레젠테이션 계층이 제공할 수 있는 변환 기능 중 하나입니다. (5계층 모델에서 응용 계층으로 병합되었습니다.) 형식에는 JPEG, ASCll, DECOIC, 암호화된 형식 등이 포함됩니다.

A사와 B사는 서로 다른 국가에 있는 회사이기 때문에 의사소통 언어로 영어를 사용하기로 합의했기 때문에 이때 프리젠테이션 계층(회사의 비서)은 애플리케이션 계층의 전송 정보를 영어로 번역하는 것이다. 동시에 다른 회사에서 볼 수 없도록 A 회사 사람들도 견적을 암호화합니다. 이것은 응용 계층에서 데이터를 표현하고 변환하고 번역하는 역할입니다.

<3> 세션 계층
세션 계층은 프레젠테이션 계층 개체 간의 통신 세션을 설정, 관리 및 종료하는 역할을 합니다. 이 계층의 통신은 서로 다른 장치에 있는 응용 프로그램 간의 서비스 요청 및 응답으로 구성됩니다. 5계층 모델에서는 로컬 호스트와 원격 호스트 간의 진행 중인 세션을 의미하는 호스트 프로세스에 해당하는 애플리케이션 계층)으로 병합되었습니다.

대화 계층의 동료는 프레젠테이션 계층의 동료로부터 변환된 데이터를 받고(대화 계층의 동료는 회사의 대외 관계 부서와 유사함) 대화 계층의 동료는 회사와 다른 많은 회사 간의 연락처 정보를 가질 수 있습니다. 여기서 회사는 프로세스에서 실제 전송 엔터티입니다. 그들은 많은 외부 회사와 회사의 접촉 세션을 관리합니다. 프레젠테이션 레이어에서 데이터를 받은 후 세션 레이어는 세션을 설정하고 기록하며 먼저 B 회사의 주소 정보를 찾은 다음 전체 정보를 봉투에 넣고 주소와 연락처 정보를 작성해야 합니다. 데이터를 보낼 준비가 되었습니다. B사가 견적서를 받은 것을 확인한 후 대화가 종료되고 대외협력부서의 동료들이 대화를 종료합니다.

<4> 전송 계층
전송 계층은 호스트의 종단 간 링크를 설정하며, 전송 계층의 역할은 문제 처리를 포함하여 상위 계층 프로토콜에 종단 간 안정적이고 투명한 데이터 전송 서비스를 제공하는 것입니다. 오류 제어 및 흐름 제어와 같은. 이 계층은 상위 계층에서 하위 계층의 데이터 통신 세부 정보를 보호하므로 상위 계층 사용자는 사용자가 제어하고 설정할 수 있는 두 전송 엔티티 사이에서 호스트에서 호스트로 신뢰할 수 있는 데이터 경로만 볼 수 있습니다. 우리는 일반적으로 TCP UDP가 이 계층에 있다고 말합니다. 여기서 포트 번호는 둘 다 "끝"입니다. 프로토콜은 다음과 같습니다. TCP UDP, 데이터 패킷이 네트워크 카드를 떠나면 네트워크 전송 계층으로 들어갑니다.

운송계층은 속달우편을 주고받는 회사내의 사람, 상위계층에서 택배회사나 우체국으로 보낼 자료를 배달하는 회사의 자체택배에 해당한다.

<5> 네트워크 계층은
IP 주소 지정을 통해 두 노드 간의 연결을 설정하고 소스에서 전송 계층이 보낸 패킷에 대해 적절한 라우팅 및 스위칭 노드를 선택하여 목적지의 전송 계층으로 오류 없이 보냅니다. 일반적으로 IP 계층이라고 합니다. 이 계층은 우리가 종종 IP 프로토콜 계층이라고 부르는 계층입니다. IP 프로토콜은 인터넷의 기반입니다. (논리적 주소 지정을 위해, 서로 다른 네트워크 간의 경로 선택을 달성하기 위해) 프로토콜에는 다음이 포함됩니다. ICMP IGMP IP(IPV4 IPV6) ARP RARP

네트워크 계층은 택배 회사의 거대한 택배 네트워크와 동일합니다.전국의 다른 유통 센터, 예를 들어 심천에서 베이징까지의 SF Express (육상 운송은 예를 들어 항공 운송은 베이징으로 직행하는 것 같습니다), 첫 번째 모두 SF Express 심천 유통 센터로, 심천 유통 센터에서 무한 유통 센터로, 우한 유통 센터에서 베이징 순이 유통 센터로 가십시오. 각 배포 센터는 네트워크의 IP 노드에 해당합니다.

<6> 데이터 링크 계층 비트
를 바이트로 결합한 다음 바이트를 프레임으로 결합하고 링크 계층 주소(이더넷은 MAC 주소 사용)를 사용하여 미디어에 액세스하고 오류 감지를 수행합니다.

데이터 링크 계층은 논리 링크 제어 부계층(LLC)과 미디어 액세스 제어 부계층(MAC)의 2개 부계층으로 더 나뉩니다.

MAC 하위 계층은 CSMA/CD 알고리즘, 데이터 오류 검사, 프레이밍 등을 처리하고 LLC 하위 계층은 마지막 프로토콜이 데이터 링크 계층을 공유할 수 있도록 일부 필드를 정의합니다. 실제 사용 시에는 LLC 하위 계층이 필요하지 않습니다.

적절한 예를 찾지 못했습니다.

<7> 물리계층
실제 최종 신호의 전송은 물리계층을 통해 이루어진다. 물리적 매체를 통한 비트스트림 전송. 레벨, 속도 및 케이블 핀아웃을 지정합니다. 일반적으로 사용되는 장치는 (다양한 물리적 장치) 허브, 리피터, 모뎀, 네트워크 케이블, 연선 케이블 및 동축 케이블입니다. 이들은 물리적 계층의 전송 매체입니다.

속달 배송 과정에서 운송 수단은 자동차, 기차, 비행기, 배와 같은 우리의 물리적 계층에 해당합니다.

3. 통신 특성: P2P 통신

Peer-to-peer 통신은 소스에서 목적지로 데이터 패킷을 전송하기 위해 소스에서 OSI 모델의 각 계층이 목적지에서 피어 계층과 통신해야 하는데, 이 통신 방식을 피어-투-피어 통신이라고 합니다. . 각 계층의 통신 과정에서 통신을 위해 자체 프로토콜을 사용합니다.

2, TCP/IP 프로토콜

  • TCP/IP의 4계층 아키텍처는 주로 응용 계층, 전송 계층, 네트워크 계층 및 네트워크 인터페이스 계층을 포함합니다. 본질적으로 상위 3개 계층만 있고 네트워크 인터페이스 계층에는 특정 콘텐츠가 없습니다.
  • TCP/IP 5계층 아키텍처에는 응용 계층, 전송 계층, 네트워크 계층, 데이터 링크 계층 및 물리 계층이 포함됩니다.
  • 5계층 프로토콜은 OSI와 TCP/IP의 합성일 뿐이며 실제 응용 프로그램은 여전히 ​​TCP/IP의 4계층 구조입니다. 편의상 다음 두 계층을 네트워크 인터페이스 계층이라고 부를 수 있습니다.

     

    다음 그림은 소켓 소켓을 포함합니다.

     


    소켓은 프로토콜이 아닌 연결 모드일 뿐 소켓은 TCP/IP 프로토콜의 캡슐화 소켓 자체는 프로토콜이 아니라 호출 인터페이스(API)

3, 소켓 소켓

위의 통신 프로세스를 구현하기 위해 구축된 통신 채널이며 클라이언트와 서버 간의 통신 프로세스가 실제 대표이며 두 프로세스는 소켓을 통해 통신하고 통신 규칙은 지정된 프로토콜을 채택합니다.

소켓을 통해 TCP/IP 프로토콜을 사용할 수 있습니다. tcp, udp, 간단히 말하면(정확하지는 않지만) 두 가지 가장 기본적인 프로토콜입니다.

다른 많은 프로토콜은 이 두 프로토콜을 기반으로 합니다. 예를 들어 http는 tcp를 기반으로 합니다. 소켓을 사용하여 tcp 연결 또는 udp 연결을 만들 수 있습니다.

이는 다른 프로토콜이 이를 기반으로 하기 때문에 소켓을 사용하여 모든 프로토콜의 연결을 생성할 수 있음을 의미합니다.

전송 계층의 TCP 및 UDP.
TCP: 전송 제어 프로토콜
UDP: 사용자 데이터그램 프로토콜(UDP: 사용자 데이터그램 프로토콜)

응용 프로그램 계층과 전송 계층 간의 특정 연결은 다른 문서에서 찾을 수 있습니다.

프로토콜 세부 정보:

1. 네트워크 계층


1.1 네트워크 계층의 역할

네트워크 계층 : 주소 관리 및 라우팅 선택을 담당하며, 예를 들어 IP 프로토콜에서는 IP 주소로 호스트를 식별하고 라우팅 테이블을 통해 두 호스트 간의 데이터 전송선(라우트)을 계획한다. 네트워크 계층에서 작동 일반적인 프로토콜: IP 일반적인 장비: 라우터: 데이터 라우팅 및 포워딩 실현.

  • 호스트 : IP 주소는 있지만 라우팅 제어는 없는 장치.
  • 라우터 : IP 주소를 갖추고 있을 뿐만 아니라 라우팅 제어도 가능합니다.
  • 노드 : 호스트와 라우터의 총칭

1.2 IP 프로토콜*

여기에 이미지 설명 삽입

1.2.1 프로토콜 헤더 형식

여기에 이미지 설명 삽입

  • 4자리 버전 번호(version): IP 프로토콜의 버전을 지정하며 IPv4의 경우 4입니다.
  • 4비트 헤더 길이(header length): IP 헤더의 길이는 32비트, 즉 길이 * 4의 바이트 수입니다. 4비트는 최대 개수가 15라는 의미이므로 IP 헤더의 최대 길이는 60바이트입니다.
  • 8비트 서비스 유형(Type Of Service): 3비트 우선 순위 필드(더 이상 사용되지 않음), 4비트 TOS 필드 및 1비트 예약 필드(0으로 설정해야 함) 4비트 TOS는 각각 다음을 나타냅니다. 최대 처리량 볼륨, 최고 신뢰성, 최소 비용 이 네 가지가 서로 충돌하여 하나만 선택할 수 있음 ssh/telnet과 같은 응용 프로그램의 경우 최소 지연이 더 중요하며 ftp와 같은 프로그램의 경우 최대 처리량은 더 중요.
  • 16비트 총 길이(total length): IP 데이터그램이 전체적으로 차지하는 바이트 수.
  • 16비트 식별자(id): 호스트에서 보낸 패킷을 고유하게 식별하며, IP 패킷이 데이터 링크 계층에서 조각난 경우 각 조각의 id는 동일합니다.
  • 3비트 플래그 필드: 첫 번째 비트는 예약됨(예약됨은 현재 사용하지 않는다는 의미이지만 아직 결정되지 않은 경우 미래에 사용할 수 있음) 두 번째 비트는 1로 조각화 금지를 의미합니다. 이때 패킷 길이가 MTU를 초과하면 IP 모듈에서 메시지를 버린다 세 번째 비트는 "더 많은 조각"을 의미하며 조각난 경우 마지막 조각이 1로 설정되고 나머지는 0으로 설정됩니다. 마침표와 비슷합니다.
  • 13비트 프래그먼트 오프셋(framegament offset): 원래 IP 메시지의 시작 부분에 상대적인 프래그먼트의 오프셋입니다. value * 8이 얻어지므로 마지막 메시지를 제외하고 다른 메시지의 길이는 8의 정수배여야 합니다(그렇지 않으면 메시지가 연속적이지 않습니다).
  • 8비트 time to live(Time To Live, TTL): 데이터그램이 목적지에 도달하기까지의 최대 홉 수 일반적으로 64이며 경로를 통과할 때마다 TTL-= 1, 0에 도달할 때까지 , 폐기됩니다 예. 이 필드는 주로 라우팅 루프를 방지하는 데 사용됩니다.
  • 8비트 프로토콜: 상위 계층 프로토콜의 종류를 나타냄
  • 16비트 헤더 체크섬: CRC를 사용하여 헤더가 손상되었는지 여부를 확인합니다.
  • 32비트 소스 주소 및 32비트 대상 주소: 송신자와 수신자를 나타냅니다.
  • 옵션 필드(가변 길이, 최대 40바이트): 약간

1.2.2 네트워크 세그먼트 구분

IP 주소는 네트워크 번호와 호스트 번호의 두 부분으로 나뉩니다.

  • 네트워크 번호 : 서로 연결된 두 네트워크 세그먼트의 식별자가 서로 다른지 확인합니다.
  • 호스트 번호 : 동일한 네트워크 세그먼트에서 호스트는 동일한 네트워크 번호를 갖지만 다른 호스트 번호를 가져야 합니다.
    여기에 이미지 설명 삽입
    여기에 이미지 설명 삽입
  • 서브넷 내부 IP 자동 관리-DHCP 기술은
    서브넷의 새로운 호스트 노드에 IP 주소를 자동으로 할당하여 수동 IP 관리의 불편함을 피합니다.
    일반 라우터에는 DHCP 기능이 있으므로 라우터도 DHCP 서버로 간주할 수 있습니다.

1.2.3 서브넷 마스크

  • 네트워크 번호와 호스트 번호를 구분하기 위해 추가 서브넷 마스크(서브넷 마스크)를 도입합니다.
  • 서브넷 마스크도 32비트 양의 정수이며 일반적으로 문자열 "0"으로 끝납니다.
  • IP 주소와 서브넷 마스크에 대해 "비트 AND" 연산을 수행하면 결과가 네트워크 번호입니다.
  • 네트워크 번호와 호스트 번호의 구분은 IP 주소가 클래스 A, 클래스 B 또는 클래스 C인지 여부와 관련이 없습니다.

서브넷 마스크는 네트워크 비트와 호스트 비트를 구분하기 위한 것으로 위에서 언급한 바와 같이 IP 주소는 네트워크 부분과 호스트 부분으로 구성됩니다. 사람의 이름이 성과 이름으로 이루어지듯이.

그런 다음 IP 주소를 사람의 이름과 비교할 수 있고 서브넷 마스크는 목록과 같아서 성이 같은 사람과 성이 다른 사람을 빠르게 알 수 있고 같은 성을 가진 사람을 그룹으로 그룹화하고 서로 소통할 수 있습니다.

예를 들어:

192.168.1.0-192.1.254의 네트워크 세그먼트가 있습니다. 이 네트워크 세그먼트는 마을과 같습니다. 우리는 이것을 Security Village라고 부릅니다. 이 네트워크 세그먼트의 IP 주소는 192.168.1.1입니다. Anfang 2라고 불리며 IP 주소는 192.168.1.2입니다.우리는 그들을 보았을 때 그들이 같은 마을 출신이라는 것을 알았습니다.

또 다른 네트워크 세그먼트는 192.168.0.0——192.168.255.254입니다. 우리는 그것을 Ancun이라고 부릅니다. 192.168.1.1과 192.168.1.2라는 두 개의 IP 주소를 가진 마을이 있으며 보안 1과 보안 2라고도 합니다. 그러면 문제 온다.? 이때 그들이 속한 마을을 어떻게 구별할 것인가?

이때 서브넷마스크는 그들이 속한 네트워크 세그먼트를 결정하기 위해 필요한데, Security 1과 Security 2를 해당 마을로 가져가서 식별해야 하며, 이들이 해당 Village에 속해 있음을 알 수 있습니다. Village는 255.255.255.0이고 Ancun의 네트워크 세그먼트는 255.255.0.0입니다.

또한 네트워크에는 "동일한 이름" 및 "동일한 성"과 유사한 IP 주소가 있을 것입니다. 그들이 속한 네트워크 세그먼트를 구별하는 방법은 서브넷 마스크에 따라 다릅니다.

1.2.4 특수 IP 주소

  • IP 주소의 모든 호스트 주소를 0으로 설정하면 이 LAN을 나타내는 네트워크 번호가 됩니다.
  • IP 주소의 모든 호스트 주소를 1로 설정하면 동일한 링크에서 서로 연결된 모든 호스트에 데이터 패킷을 보내는 데 사용되는 브로드캐스트 주소가 됩니다.
  • 127.*의 IP 주소는 로컬 루프백(loop back) 테스트에 사용되며 일반적으로 127.0.0.1

1.2.5 IP 주소 수 제한

  • 우리는 IP 주소(IPv4)가 4바이트 32비트 양의 정수라는 것을 알고 있습니다. 그러면 IP 주소는 2의 32제곱인 약 43억 개입니다. TCP/IP 프로토콜은 각 호스트가 IP 주소를 가지고 있습니다.
  • 이것은 43억 개의 호스트만 네트워크에 액세스할 수 있다는 것을 의미합니까?
  • 실제로 일부 특수한 IP 주소가 존재하기 때문에 그 수가 43억개에 훨씬 못 미치며, 또한 IP 주소는 호스트 수에 따라 구성되지 않고 각 네트워크 카드는 하나 이상의 IP로 구성되어야 합니다. 구애.
  • CIDR(마스킹 방식)은 IP 주소가 부족한 문제를 어느 정도 완화(활용도는 높이고 낭비는 줄었지만 IP 주소의 절대 상한선은 늘지 않았다)했지만 여전히 부족하다. 해결할 시간
    • IP 주소의 동적 할당: 네트워크에 연결된 장치에만 IP 주소를 할당합니다.따라서 동일한 MAC 주소를 가진 장치는 인터넷에 연결할 때마다 반드시 동일한 IP 주소를 얻지는 않습니다.
    • NAT 기술(추후 소개 예정)
    • IPv6: IPv6는 IPv4의 단순한 업그레이드 버전이 아닙니다.이 두 프로토콜은 서로 관련이 없으며 서로 호환되지 않습니다.IPv6은 16바이트와 128비트를 사용하여 IP 주소를 나타내지만 IPv6는 아직 대중적이지 않습니다.

1.2.6 라우팅

복잡한 네트워크 구조에서 끝까지 가는 길 찾기

여기에 이미지 설명 삽입
IP 패킷의 전송 과정도 방향을 묻는 것과 같다.

  • IP 데이터 패킷이 라우터에 도착하면 라우터는 먼저 대상 IP를 확인합니다.
  • 라우터는 데이터 패킷을 대상 호스트로 직접 보낼 수 있는지 또는 다음 라우터로 보낼 필요가 있는지 결정합니다.
  • 대상 IP 주소에 도달할 때까지 차례로 반복합니다.

대상 호스트로 데이터 패킷을 보내기 위해 모든 호스트는 다음 단계에서 IP 데이터를 보낼 라우터를 기록하는 라우팅 테이블(Routing Table)을 유지합니다. IP 패킷은 이 라우팅 테이블에 따라 각 데이터 링크에서 전송됩니다.
여기에 이미지 설명 삽입

  • 라우팅 테이블 - 라우팅 테이블은 route 명령을 사용하여 볼 수 있습니다.
    대상 IP가 라우팅 테이블에 도달하면 직접 전달할 수 있습니다. 라우팅 테이블
    의 마지막 줄은 주로 다음 홉 주소와 송신 인터페이스로 구성됩니다. 목적지 주소가 라우팅 테이블과 일치할 때 .

2. 링크 레이어


2.1 링크 레이어 역할

데이터 링크 계층 : 장치 간 데이터 프레임의 전송 및 식별을 담당 예를 들어 네트워크 카드 장치의 드라이버, 프레임 동기화(즉, 네트워크 회선에서 감지된 신호가 새 프레임의 시작으로 카운트됨) ), 충돌 감지(충돌이 감지되면 자동 재전송), 데이터 오류 검사 등 이더넷, 토큰링 네트워크, 무선 LAN 등의 표준이 있음 스위치(Switch)는 데이터 링크 계층에서 작동 일반적인 프로토콜: 이더넷 프로토콜 일반적인 장비: 스위치: 데이터 교환 및 전달을 실현합니다.

2.2 이더넷

"이더넷"은 특정 네트워크가 아니라 기술 표준이며 데이터 링크 계층의 내용뿐만 아니라 물리적 계층의 일부 내용도 포함합니다. 예: 네트워크 토폴로지, 액세스 제어 방법, 전송 속도 대기를 지정합니다. ;

예를 들어 이더넷의 네트워크 케이블은 트위스트 페어를 사용해야 하며 전송 속도는 10M, 100M, 1000M 등입니다.

이더넷은 현재 가장 널리 사용되는 LAN 기술이며 이더넷과 함께 토큰 링, 무선 LAN 등이 있습니다.
여기에 이미지 설명 삽입

  • 소스 주소와 대상 주소는 네트워크 카드의 하드웨어 주소(MAC 주소라고도 함)를 나타내며 길이는 48비트이며 네트워크 카드가 공장에서 출고될 때 고정됩니다.
  • 프레임 프로토콜 유형 필드에는 IP, ARP 및 RARP에 해당하는 세 가지 값이 있습니다.
  • 프레임 끝에는 CRC 확인 코드가 있습니다.

2.3 MAC 주소

IP 및 MAC

이제 ipv6를 사용할 수 있지만 우리가 사용하는 대부분의 프로토콜은 여전히 ​​ipv4입니다.이른바 ip는 컴퓨터의 전체 네트워크 번호입니다. 다른 컴퓨터에서 컴퓨터에 액세스하려면 이 번호가 필요합니다. 그러나 이 수치는 많은 경우에 지속적으로 변화하고 있습니다. 유일한 상수는 MAC 주소(물리적 주소)입니다.

MAC은 네트워크에서 네트워크 카드 장치를 식별하는 데 사용되는 고유한 네트워크 주소입니다. 관련 하드웨어 제조업체에서 균일하게 할당한 각 컴퓨터의 MAC 주소는 고유합니다.

비유하자면 이사를 자주 다니고 이사갈때마다 주소가 XX커뮤니티에서 XX단위 XX, 이것이 IP입니다. 그러나 귀하의 이름은 동일하게 유지됩니다. 이것은 MAC입니다. 차이점은 우리 MAC은 중복 이름을 허용하지 않는다는 것입니다.

우리의 IP는 두 부분으로 나뉩니다. 위의 그림과 같이 네트워크 부분과 호스트 부분으로 나뉩니다. 네트워크 부분은 당신이 XX시, XX시, XX주에 있는 것과 같으며 국가에서 고정되어 있습니다. 하지만 XX 커뮤니티에서 유닛 XX의 숫자 XX는 개발자 자신이 결정합니다. 두 숫자는 귀하의 IP에 추가됩니다. 차이점은 실제로 두 숫자의 길이는 고정되어 있지만 네트워크에서 A, B, C, D의 IP 주소가 변경된다는 것입니다.

  • MAC 형식:
    • MAC 주소는 데이터 링크 계층에서 연결된 노드를 식별하는 데 사용됩니다.
    • 길이는 48비트, 6바이트이며 일반적으로 16진수 + 콜론으로 표시됩니다(예: 08:00:27:03:fb:19).
    • 네트워크 카드가 공장에서 출고되어 수정할 수 없는 시점이 결정됩니다. mac 주소는 일반적으로 고유합니다(가상 컴퓨터의 mac 주소는 실제 mac 주소가 아니므로 충돌할 수 있습니다. 일부 네트워크 카드는 mac의 사용자 구성도 지원합니다. 주소)

2.4인*

MTU는 속달을 보낼 때 패키지 크기의 제한과 동일하며 이 제한은 서로 다른 데이터 링크에 해당하는 물리 계층의 제한입니다.

  • 이더넷 프레임의 데이터 길이는 최소 46바이트에서 최대 1500바이트로 규정하고 있는데, ARP 데이터 패킷의 길이는 46바이트로는 부족하고 뒤에 패딩 비트를 추가해야 한다.
  • 1500의 최대값을 이더넷의 MTU(최대 전송 단위)라고 하며 네트워크 유형에 따라 MTU가 다릅니다.
  • 데이터 패킷이 이더넷에서 전화 접속 링크로 라우팅되고 데이터 패킷의 길이가 전화 접속 링크의 MTU보다 큰 경우 데이터 패킷을 조각화(조각화)해야 합니다.
  • 서로 다른 데이터 링크 계층 표준의 MTU는 서로 다릅니다.

MTU 는 최대 전송 단위이며 데이터그램이 MTU보다 크고 64K보다 작으면 네트워크 계층에서 데이터 조각화가 수행되지만 전송 계층에서 tcp가 협상한 MSS는 다음을 통해 계산되므로 tcp는 데이터 조각화를 수행하지 않습니다. MTU 또는 MTU 따라서  네트워크 계층의 데이터 조각화는 주로 UDP 데이터그램을 대상으로 합니다.

  • 더 큰 IP 패킷을 여러 개의 작은 패킷으로 나누고 각 작은 패킷에 레이블을 지정합니다.
  • 각 작은 패킷 IP 프로토콜 헤더의 16비트 식별(id)은 동일합니다.
  • 각 소형 패킷의 IP 프로토콜 헤더의 3비트 플래그 필드에서 두 번째 비트는 0으로 단편화가 허용됨을 나타내고 세 번째 비트는 끝 표시(현재가 마지막 소형 패킷인지 여부, 그렇다면 1로 설정하고 그렇지 않으면 0으로 설정);
  • 반대쪽 끝에 도착하면 이 작은 패킷이 순서대로 재조립되고 함께 조립되어 전송 계층으로 반환됩니다.
  • 이러한 작은 패킷 중 하나라도 손실되면 수신 측의 재조립이 실패하지만 IP 계층은 데이터 재전송에 대한 책임이 없습니다.

2.5 ARP 프로토콜

ARP는 주소 문제를 해결하기 위한 프로토콜로 대상 주소를 단서로 사용하여 데이터 패킷을 수신해야 하는 다음 네트워크 장치에 해당하는 MAC 주소를 찾습니다. 그러나 ARP는 IPv4에만 적용 가능하며 IPv6에는 적용되지 않습니다.

ARP 프로토콜은 쉽게 말해 IP를 통해 MAC을 얻는 프로토콜이고,
여기에 이미지 설명 삽입
RARP는 ARP를 역순으로 MAC 주소에서 IP 주소를 찾는 프로토콜이다.

2.6 DNS

DNS는 웹 사이트를 IP 주소로 변환하는 서버인 도메인 이름 확인 서버(도메인 이름 시스템)입니다.

호스트 이름과 IP 주소 간의 통신을 효과적으로 관리 -> DNS 시스템
여기에 이미지 설명 삽입

2.7 NAT 기술

NAT(Network Address Translator)는 로컬 네트워크에서 사설 주소를 사용하고 인터넷에 연결할 때 글로벌 IP 주소로 전환하는 데 사용되는 기술입니다.

여기에 이미지 설명 삽입
NAPT
그런 다음 문제가 발생합니다. 동일한 외부 네트워크 서버에 액세스하는 LAN에 여러 호스트가 있는 경우 서버에서 반환된 데이터의 대상 IP가 동일합니다. NAT 라우터는 이 데이터 패킷을 전달할 LAN을 어떻게 결정합니까? 호스트?

이때 NAPT가 이 문제를 해결해 줄 것입니다.  이 관계를 설정하려면 IP+port를 사용하십시오.

3. 브라우저가 URL을 입력하면 어떻게 됩니까(고전적인 문제)


1. DNS 확인: 도메인 이름을 IP 주소로 확인, 반드시 확인해야 하는 DNS 참조
2. TCP 연결: TCP 3방향 핸드셰이크,
3. HTTP 요청 발생 ,
4. 서버가 요청을 처리하고 HTTP 메시지 반환 ;
5. 브라우저가 페이지를 구문 분석하고 렌더링합니다 ;
6. 연결 끊기: TCP 웨이브가 4번 발생합니다.

Supongo que te gusta

Origin blog.csdn.net/a1058926697/article/details/130739743
Recomendado
Clasificación