내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
이전 장에서는 Java 코드를 사용하여 파일을 작동하는 방법을 소개했습니다. 오늘은 나중에 네트워크에 대해 더 깊이 이해할 수 있도록 네트워크에 대한 몇 가지 기본 지식 포인트에 대해 이야기하겠습니다.
如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,讲解的内容我会搭配我的理解用我自己的话去解释。如果有什么问题的话,欢迎各位评论纠正 🤞🤞🤞
홈페이지:N_0050-CSDN 블로그
관련 항목:java SE_N_0050의 블로그-CSDN 블로그 Java 데이터 구조_N_0050의 블로그-CSDN 블로그java EE_N_0050의 블로그-CSDN 블로그
네트워크는 다음과 같이 구분됩니다. 네트워크 원리 및 네트워크 프로그래밍,네트워크 통신: 여러 컴퓨터가 함께 연결되어 데이터 공유를 완료합니다., 실제로는 네트워크를 통한 컴퓨터 간의 데이터 전송이며 네트워크 데이터 전송이라고도 할 수 있습니다.
로컬(Local), LAN의 호스트 간 네트워크 통신을 가능하게 하는 로컬로 설정된 사설 네트워크입니다., 인트라넷이라고도 함. 근거리 통신망과 근거리 통신망 간의 통신은 연결 없이는 불가능합니다.LAN의 범위는 고정되어 있습니다.학교나 공장 같은 곳,작은 적용 범위, 빠른 전송 효율성, 낮은 대기 시간, 주로 로컬 리소스 공유 및 통신에 사용됩니다.
라우터를 통해 여러 개의 근거리 통신망이 연결되어 물리적으로 대규모 네트워크를 형성하여 광역 통신망을 형성합니다. . WAN 내의 LAN은 모두 해당 서브넷에 속합니다.실제로 각 근거리통신망은 라우터를 통해 연결되는데, 이는 광역통신망(Wide Area Network)이라 불리는 거대한 근거리통신망이라고 볼 수 있다.넓은 적용 범위, 느린 전송 효율성 및 높은 대기 시간,주로 원격 연결 및 데이터 전송에 사용됩니다.
글로벌 공중 광역 네트워크인 경우 광역 네트워크의 하위 집합인 인터넷(공용 네트워크, 외부 네트워크라고도 함)이라고 합니다.때때로 느슨한 맥락에서 언급되는 광역 네트워크는 실제로 인터넷을 나타냅니다.
LAN과 WAN의 관계와 차이점:
예를 들어, 한 회사가 다양한 지역에 많은 지점을 갖고 있으며, 각 지점은 근거리 통신망(Local Area Network)으로 간주될 수 있습니다.네트워크 연결을 통해 모든 지점을 연결할 수 있으므로 지역 간 통신이 가능합니다. 이를 광역 네트워크라고 합니다.
OSI 모델의 세 번째 계층(네트워크 계층)은 주로 여러 네트워크를 연결하고 데이터 패킷의 대상 주소를 기반으로 전달을 위한 최상의 경로를 선택하는 데 사용됩니다.
일반적으로 우리의 컴퓨터실 컴퓨터는 라우터에 연결되어 있으며 이 몇 대의 컴퓨터만 통신할 수 있다고 상상할 수 있습니다. 그러나 라우터가 다시 연결되면 점차 거대한 네트워크가 형성되고 더 많은 컴퓨터가 통신할 수 있게 되며 라우터도 통신할 수 있게 됩니다. 외부 네트워크에 연결하여 어디서나 컴퓨터와 통신할 수 있습니다.
라우터에는 일반적으로 WAN 포트가 1개, LAN 포트가 4개 있습니다. WAN 포트는 상위 라우터에 연결하는 데 사용됩니다. LAN 포트는 여러 컴퓨터가 동일한 LAN에서 통신할 수 있도록 연결됩니다. 제한적이므로 스위치를 도입하면 LAN 포트에도 연결된 스위치를 통해 더 많은 장치에 연결할 수 있습니다.
OSI 모델의 두 번째 계층(데이터 링크 계층)에서 각 스위치에는 MAC 주소 테이블이 있습니다.(주소 전달 테이블이라고도 함)각 포트에 연결된 장치의 MAC 주소를 기록했습니다. . 이 테이블을 쿼리하면스위치는 각 데이터 프레임의 전달 경로를 결정한 다음 데이터 프레임을 대상 장치로 전달할 수 있습니다.
스위치의 포트는 특별히 구성할 필요가 없습니다. 라우터의 LAN 포트에 직접 연결됩니다. 스위치는 LAN의 연결 지점을 확장하는 데 사용됩니다(즉, 더 많은 장치를 연결할 수 있습니다). 더 많은 포트(8, 16, 24개 이상)를 사용하면 더 많은 장치를 연결하고 동일한 네트워크에 연결하여 네트워크 통신을 용이하게 할 수 있습니다.
둘 사이의 차이점은 다음과 같습니다.
라우터는 네트워크 계층에 있으며 라우터는 IP 주소를 기반으로 주소가 지정됩니다.,라우터는 TCP/IP 프로토콜을 처리할 수 있습니다., 스위치는 할 수 없습니다 스위치는 MAC 주소를 기반으로 주소가 지정됩니다.스위치는 데이터링크층에 위치
라우터는 하나의 IP를 여러 호스트에 할당할 수 있으며, 이러한 호스트는 외부 세계에 하나의 IP만 표시합니다. . 스위치는 여러 호스트를 연결할 수 있으며 이러한 호스트 각각에는 고유한 IP 주소가 있습니다.
라우터는 다양한 유형의 네트워크에 연결할 수 있으며 WAN 연결 기능을 가질 수 있습니다.이므로 대규모 기업 네트워크 구축이나 인터넷 접속에 적합합니다.스위치는 내부 LAN에서 여러 장치를 연결하는 데 사용됩니다.
예:우리 각자는 호스트에 해당하고, 라우터는 택배에 해당하며, 기숙사 관리자는 스위치에 해당하며, 학교는 근거리 통신망에 해당합니다. .택배기사는 학교 주소(IP)를 기준으로 학교에 물건을 전달한 후, 기숙사 건물(서브넷 IP)을 기준으로 기숙사 관리자에게 물건을 전달합니다. .
IP 주소는 장치(예: 호스트, 라우터 등)를 찾는 데 사용되는 네트워크 주소입니다. 는 네트워크에 있는 우리 컴퓨터의 주소를 설명하는 것으로 이해될 수 있습니다. 네트워크에서 IP 주소의 역할:데이터 패킷이 네트워크에서 대상 장치를 찾을 수 있도록 장치 간 라우팅 및 네트워크 위치 지정에 사용됩니다. .IP 주소는 변경될 수 있습니다.
체재:컴퓨터에서는 32비트 이진수를 보통 4개의 '8비트 이진수'(즉, 4바이트)로 나누어 주소를 표현하는데, 이를 이진수로 표현하는 것은 불편하다.점으로 구분된 십진수는 일반적으로 IP 주소를 나타내는 데 사용되며, 0-255 사이의 십진수 4개를 사용한 다음 IP 주소를 나타내는 데 점 3개를 사용합니다.
IP 주소는 네트워크에서 호스트의 주소를 찾습니다. 하지만 데이터가 호스트로 전송된 후 어떤 프로그램이 이를 수신합니까?식별을 위해 포트 번호를 사용해야 합니다.
포트 번호는 호스트에서 다른 응용 프로그램을 구별하는 데 사용됩니다. 호스트에서 프로세스를 찾는다고 할 수도 있습니다.。다른 프로그램은 동일한 포트 번호를 바인딩할 수 없습니다., mysql의 포트 번호가 3306에 바인딩된 것처럼 다른 프로그램도 이 포트 번호에 바인딩되면 혼란스러울 것입니다.그러나 프로그램은 여러 포트 번호를 바인딩할 수 있습니다.
체재:시스템 포트 번호 범위는 0 ~ 65535(2바이트), 0 ~ 1023입니다. 일반적으로 시스템에는 특별한 목적이 있으므로 일반적으로 사용하지 않습니다.
IP와 포트번호는 한 쌍으로 간주할 수 있으며, 이는 특급배송의 원칙과 유사하게 발신자 주소(출발지 IP), 발신자 전화번호(발신지 포트번호), 수신자 주소(대상 IP), 수신자 전화번호( 목적지 포트 번호) 및 계약(특송 회사)에 대해서는 나중에 자세히 설명합니다.
IP 주소와 포트 번호를 이용하면 네트워크 내의 유일한 프로세스를 찾을 수 있지만, 네트워크 통신은 바이너리 데이터를 사용하여 전송합니다.이때 전송된 데이터가 어떤 것인지 상대방에게 알려주어야 합니다. 이때 양측의 데이터 형식을 지정하는 프로토콜을 사용해야 합니다.
네트워크의 본질은 광/전기적 신호를 통해 데이터를 전송하는 것입니다. 프로토콜을 사용하여 양 당사자의 데이터 형식을 규정합니다. 합의는 거래를 하는 것과 비슷합니다. 양 당사자는 거래 전에 원합니다. 그렇지 않으면 shua shua가 될 것입니다.
오배:
TCP/IP 프로토콜에서는 5개의 튜플(tuple)을 사용하여 네트워크 통신을 식별합니다. 다음은 네트워크 통신에 필요한 정보입니다.
1. 소스 IP: 소스 호스트를 식별합니다.
2. 소스 포트 번호: 이 통신을 위해 데이터를 보내는 소스 호스트의 프로세스를 식별합니다.
3. 대상 IP: 대상 호스트를 식별합니다.
4. 대상 포트 번호: 이 통신에 대한 데이터를 수신하는 대상 호스트의 프로세스를 식별합니다.
5. 프로토콜 번호: 송신 프로세스와 수신 프로세스 모두에서 동의한 데이터 형식을 식별합니다.
소스 포트 번호와 대상 포트 번호는 전송 계층에 있고 소스 IP와 대상 IP는 네트워크 계층에 있습니다! ! !
이해가 안가시면 아래 사진을 보세요
네트워크 프로토콜의 경우 다음이 필요합니다. 정의 및 관리를 위해 여러 수준으로 구분됩니다.프로토콜을 종류와 기능에 따라 분류한 후 계층적 관계를 설정합니다. 상위 계층은 하위 계층을 호출하고 하위 계층은 인터페이스를 호출하는 것과 유사하게 상위 계층을 지원합니다. , 인터페이스를 호출할 때 기본 구현이 어떻게 구현되는지 알 필요가 없다는 장점이 있습니다. 이 인터페이스를 사용하는 방법과 그 기능만 알면 됩니다.인터페이스는 우리가 누구라고 부르는지 알 필요가 없으며 수정을 피하기 위해 구현 세부 사항을 캡슐화합니다.
레이어링의 예: 대기업과 마찬가지로 상사가 재귀처럼 지시를 내리고, 지시를 각급 리더들이 받아 직원들에게 처리하도록 전달하고, 처리 후 돌려주고, 최종적으로는 다시 회사로 돌아오는 방식이다. 사장님.이러한 방식으로 의사소통하는 것이 관리에 편리하고 전반적인 질서를 유지하는데 도움이 됩니다.
OSI 7계층 모델은 복잡하고 비실용적이므로 OSI 7계층 모델은 구현되거나 구현되지 않았습니다. 책에 등장하는 것만으로도 서로를 알아가자.대부분은 여전히 TCP/IP 5계층 네트워크 모델을 사용합니다.
OSI의 애플리케이션 계층, 프레젠테이션 계층 및 세션 계층을 하나의 애플리케이션 계층으로 결합한 OSI 7계층 네트워크 모델의 단순화된 버전입니다. . TCP/IP 통신 프로토콜은 5계층 계층 구조를 채택합니다.각 계층은 자신의 요구 사항을 완료하기 위해 아래 계층에서 제공하는 네트워크를 호출합니다.
각 레이어를 설명하는 예를 들어보세요. 예를 들어, Taobao에서 의류를 구매하는 경우 애플리케이션 레이어에 속하는 바지 및 기타 항목을 구매하도록 선택할 수도 있습니다. 그런 다음 판매자는 수신자, 전화번호 등과 같은 주문 관련 정보를 받습니다. 이는 전송 계층에 속합니다. 그런 다음 상인은 택배 회사에 전화하여 처리하고 택배 회사는 네트워크에 속하는 운송을 위해 상하이에서 항저우, 소흥까지 적절한 경로(효율성, 비용 등 여러 요소를 고려함)를 선택합니다. 층. 그런 다음 인접한 장소로 이동하는 방법을 고려해야 합니다. 예를 들어 상하이에서 항저우까지는 철도로 이동해야 하고, 항저우에서 소흥까지는 비행기로 이동해야 합니다. 마지막 단계는 물리적 계층에 속하는 운송 장비를 운송에 사용하는 것입니다.다음의 캡슐화와 분리를 예시로 설명하겠습니다.
물리적 계층:데이터링크 계층의 데이터 프레임을 이진수로 변환, 물리적 매체(예: 케이블, 광섬유 등)를 통해 전송됩니다.
데이터링크 계층: 담당데이터 프레임은 동일한 LAN에서 전송됩니다.,인접한 노드, 스위치 계층 간의 전송 세부 사항에 주의하십시오.
네트워크 계층: 담당서로 다른 네트워크 간 데이터 패킷 전송을 선택하고 최적의 경로를 선택합니다.통신의 경로 계획, 즉 라우터가 있는 계층에 중점을 둡니다.
전송 계층: 엔드투엔드 제공통신 서비스, 완전한 데이터 전송을 보장합니다.커뮤니케이션이 시작되고 끝나는 위치에 집중
애플리케이션 계층: 애플리케이션과 직접 상호 작용하고 네트워크 서비스를 제공합니다.
네트워크 장치가 위치한 계층:
~을 위한주인예를 들어 운영 체제 커널은 다음을 구현합니다.전송 계층에서 물리 계층으로콘텐츠
~을 위한라우터즉, 달성한 것이다.네트워크 계층에서 물리 계층으로
~을 위한스위치즉, 달성한 것이다.데이터링크 계층에서 물리 계층으로
~을 위한허브즉, 달성한 것이다.물리층
네트워크 통신 중 데이터 전송 과정을 설명하자면, 정보 전송의 예를 들어보겠습니다. 실제로는 빠른 배송을 보내는 것과 비슷합니다.
보내는 사람
애플리케이션 계층:
우리는 누군가에게 메시지를 보내기 위해 채팅 프로그램을 사용하고, wx는 우리가 입력한 Java를 애플리케이션 계층 데이터 패킷으로 패키징할 것입니다.(형식은 wx 프로그래머들만 알고 있음) 스플라이싱을 위해 문자열을 사용하는 것은 우리가 택배로 물품을 보낼 때와 마찬가지로 물품에 직접 패키지를 추가하고 택배(운송 계층)에 도착하면 포장됩니다.애플리케이션 계층 프로토콜은 프로그래머가 유연하게 조정할 수 있습니다.
그런 다음 애플리케이션 계층의 데이터 패킷은 운영 체제의 API를 통해 처리하기 위해 전송 계층으로 전송됩니다.
전송 계층:
TCP, UDP와 같은 전송 계층 프로토콜 . 애플리케이션 계층 데이터 패킷을 재패키징하는 것은 문자열을 사용하여 TCP 및 UDP와 같은 전송 계층 헤더를 전송 계층에 속하는 데이터 패킷으로 연결하는 것입니다. 데이터 패킷 = 헤더 + 페이로드
이때 전송 계층의 데이터 패킷 = UDP 헤더 + 다음 애플리케이션 계층의 데이터 패킷(즉, 패킷 헤더의 페이로드)이 됩니다. UDP 헤더는 출발지 포트 번호와 도착지 포트 번호라는 키 정보를 담고 있는 바이너리 데이터입니다.예를 들어, 디스플레이 화면을 보낼 때 깨지기 쉬운 품목으로 라벨을 붙이고 파손 가능성을 줄이기 위해 몇 가지 보호 조치를 추가합니다.
소스 포트 번호와 대상 포트 번호는 전송 계층에 있다는 점을 기억하세요!전송 계층의 데이터 패킷은 처리된 다음 처리를 위해 네트워크 계층으로 전달됩니다.
네트워크 계층:
네트워크 계층에서 가장 중요한 프로토콜은 IP 프로토콜이다, 네트워크 계층은 전송 계층의 데이터 패킷을 다시 패키지하고 문자열을 사용하여 IP 헤더를 연결한 다음 이를 네트워크 계층에 속하는 데이터 패킷으로 변환합니다.
이때, 네트워크 계층의 데이터 패킷 = IP 헤더 + UDP 헤더 + 애플리케이션 계층의 데이터 패킷(즉, IP 헤더의 페이로드)이 됩니다. IP 헤더에는 많은 속성이 포함되어 있으며 그 중 가장 중요한 것은 소스 IP와 대상 IP입니다.
소스 IP와 대상 IP가 네트워크 계층에 있다는 것을 기억하세요!네트워크 계층의 데이터 패킷은 처리된 다음 처리를 위해 데이터 링크 계층으로 전달됩니다.
데이터 링크 계층:
데이터 링크 계층의 일반적인 프로토콜은 이더넷이며, 여기서 이더넷은 네트워크 데이터 전송을 위한 매체를 나타내는 데 사용됩니다., 데이터 링크 계층은 네트워크 계층 데이터 패킷을 다시 패키지하고 문자열을 사용하여 이더넷 프레임 헤더를 연결하고 프레임 트레일러를 추가한 다음 이를 데이터 링크 계층에 속하는 데이터 패킷으로 변환합니다.
이때, 데이터링크 계층 패킷 = 이더넷 프레임 헤더 + IP 패킷 헤더 + UDP 패킷 헤더 + 응용 계층 데이터 패킷(즉, 이더넷 패킷 헤더의 페이로드) + 프레임 테일이다. 이더넷 헤더에는 많은 속성도 포함되어 있으며, 그 중 가장 중요한 것은 소스 MAC 주소와 대상 MAC 주소(네트워크 카드/네트워크 어댑터의 주소 설명)입니다.
네트워크 카드/네트워크 어댑터란 무엇입니까?컴퓨터가 컴퓨터 네트워크를 통해 통신할 수 있도록 설계된 컴퓨터 하드웨어의 일부, 제작 시 고정된 주소를 가지고 있습니다.우리는 일반적으로 네트워크 카드/네트워크 어댑터를 식별하기 위해 MAC 주소를 사용합니다.。LAN에서 장치는 MAC 주소를 통해 서로 통신하여 데이터 프레임이 올바른 네트워크 카드를 찾을 수 있도록 합니다.
그런 다음 데이터 링크 계층의 데이터 패킷이 처리된 다음 처리를 위해 물리 계층으로 전달됩니다.
물리적 계층:
위의 이더넷 데이터 프레임(이진 구조 데이터는 0, 1)을 광/전기 신호로 변환하여 전송합니다. .초기 상위 계층 프로토콜부터 하위 계층 프로토콜까지 각 계층에는 헤더가 추가되는데, 이는 실제로 캡슐화입니다.
전송 프로세스에서 라우터를 만나게 됩니다.데이터가 전송된 후에는 스위치와 라우터를 통해 전달됩니다. 컴퓨터에는 수많은 스위치와 라우터가 있기 때문에 서로 통신할 수 있다고 상상할 수 있습니다.참고로 물리계층은 라우터를 통과할 때 광전신호를 받아 바이너리 데이터로 변환하여 데이터링크계층으로 전달한다. 데이터링크계층도 동일한 작업을 수행하고 페이로드 부분을 파싱한 후 꺼내어 전달한다. 그런 다음 네트워크 계층은 이를 구문 분석하여 전달을 위한 최상의 경로를 선택한 다음 이를 데이터 링크 계층으로 캡슐화한 다음 전송을 위해 물리 계층으로 보냅니다. 여전히 똑같습니다.
전송 프로세스에서 스위치가 발생합니다.그러나 스위치를 통과하는 경우에도 마찬가지입니다. 물리계층은 광전신호를 바이너리로 변환하여 데이터링크계층으로 전달하고, 데이터링크계층은 페이로드 부분의 정보를 바탕으로 페이로드 부분을 파싱하여 추출한 후 다음으로 데이터를 보낼 위치를 결정한다. 새로운 패킷 헤더와 테일을 생성합니다. 캡슐화는 물리 계층으로 전달되고 물리 계층은 이를 외부로 전송합니다.그런 다음 데이터가 수신자에게 도달하면 데이터를 구문 분석(공유)해야 합니다. 즉, 빠른 배송이 필요합니다.
수화기
물리적 계층:받았다송신자의 광전 신호는 이진 데이터로 변환되고 이더넷 프레임 헤더가 획득됩니다., 처리를 위해 데이터 링크 계층으로 전달됩니다.
데이터 링크 계층:이더넷 프로토콜 사용이더넷 데이터 패킷을 분석하고 패킷의 헤더와 테일을 추출합니다., 처리를 위해 페이로드 부분을 네트워크 계층에 전달합니다.
네트워크 계층:IP 프로토콜을 사용하여 네트워크 계층에서 데이터 패킷을 분석합니다.IP 헤더를 꺼내서 분석해보세요그런 다음 처리를 위해 페이로드 부분을 전송 계층으로 보냅니다.
전송 계층: UDP 프로토콜을 사용하여 전송 계층에서 데이터 패킷을 구문 분석합니다.UDP 헤더를 꺼내서 구문 분석하세요., 처리를 위해 페이로드 부분을 애플리케이션 계층에 던집니다.
애플리케이션 계층:전송 계층에서 전송되는 데이터포트 번호에 따라 해당 프로그램에 던집니다., 그리고 wx 프로그램은 그 안에 있는 데이터를 구문 분석합니다. 구문 분석 방법은 프로그래머가 사용자 정의한 애플리케이션 계층 프로토콜을 기반으로 합니다.
전체 프로세스 요약:내가 보낸 메시지레이어별로 캡슐화한 후 물리적 신호(광/전기 신호 등)로 변환하여 전송합니다., 첫 번째는현재 LAN을 확인한 후 로컬 라우팅으로 이동합니다.,적절한 경로를 선택하기 위해 로컬 라우팅이 캡슐화되고 역다중화됩니다., 그리고 가는 길에다른 라우터를 만나면 캡슐화 및 역다중화를 수행하여 대상 네트워크에 가까워질 때까지 적절한 경로를 선택합니다. . 최종 라우터에서는 캡슐화와 분할이 수행됩니다.APR 프로토콜을 통해 IP 주소를 MAC 주소로 구문 분석합니다., 해당 MAC 주소를 찾을 수 없으면 라우터는 브로드캐스트 요청을 보냅니다.대상 장치는 MAC 주소를 제공하여 응답하고 LAN 내의 전송은 최종적으로 대상 장치에 도달합니다.
위 내용은 인터넷에 대한 몇 가지 기본 지식입니다. 인터넷에는 많은 콘텐츠가 있으며 나중에 자세히 설명하겠습니다.💕