단일 네트워크에서 두 컴퓨터 간의 통신은 어떻게 이루어 집니까?

학습자

나와 내 친구가 LAN 케이블로 컴퓨터를 연결한다고 가정 해 보겠습니다.

친구의 IP 주소로 친구를 핑합니다.

어떻게 작동합니까?

우리는 같은 네트워크에 있기 때문에 IP 주소도 필요하지 않습니까?

IP 주소 지정은 네트워크 간 통신의 경우에만 관련되지 않습니까?

ping 명령은 그의 IP 주소로 무엇을합니까? 결국 그의 물리적 주소 (NIC 주소)를 어떻게 찾습니까? (여기에는 ARP가 없습니다. 네트워크 에지에 라우터가 포함되므로 여기에는 적용되지 않습니다).

어딘가에서 내가 틀렸습니까?

바하마

당신은 OSI 네트워크 모델 에 대해 묻고 있습니다. 비록 당신이 그것을 깨닫지 못하더라도, 그리고 OSI 모델이 TCP / IP와 관련이없는 경우에도 말입니다.

컴퓨터 네트워킹이 작동하는 방식은 계층 입니다. OSI 모델의 계층은 다음과 같습니다.

  1. 물리적 (예 : 구리, 섬유 등)
  2. 데이터 링크 (예 : 이더넷, ppp, fddi 등)
  3. 네트워크 (예 : IPv4, IPv6, IPX 등)
  4. 전송 (예 : TCP, UDP 등)
  5. 세션 (OSI에서 사용되지만 여기에서 대부분은 TCP / IP의 계층 4에서 처리됨)
  6. 프레젠테이션 (예 : ASCII 대 EBCDIC 또는 MIME)
  7. 애플리케이션 (예 : HTTP, SMTP, DNS 등)

두 컴퓨터가 네트워크를 통해 통신하려면 동일한 네트워크 계층 프로토콜 을 사용해야 합니다. IPv4 또는 IPv6 일 필요는 없으며 IPX 또는 X.25 일 수 있습니다. 하지만 뭔가 있어야합니다 .

IPv4가 가장 일반적이기 때문에 우리는 단지 IPv4를 가정합니다.

두 컴퓨터 모두 IP 주소가 필요합니다. 오늘날에는 대부분 DHCP 서버에서 할당되거나 ZeroConf를 사용하여 동적으로 할당됩니다. 따라서 그들은 IP 주소 갖게 됩니다 .

핑을하면 어떻게 되나요?

먼저 세션을 시작하는 컴퓨터는 브로드 캐스트 계층 2 ARP 패킷을 보냅니다. ARP는 주소 확인 프로토콜입니다. ARP는 특정 계층 3 주소와 관련된 계층 2 주소를 검색하는 데 사용됩니다. 브로드 캐스트는 네트워크 스위치가 연결된 링크 (즉, L1 연결 사용)를 통해 모든 물리적 포트로 패킷을 보내도록 지시하는 특수 패킷입니다. 표시된 계층 3 주소를 가진 컴퓨터는 유니 캐스트 ARP 응답으로 응답합니다. ARP는 전적으로 L2 주소 지정을 통해 발생합니다 (ARP 결과는 나중에 조회 할 수 있도록 캐시되므로 ARP 요청을 계속 보낼 필요가 없습니다).

다음 으로 ICMP 에코 요청 패킷이 만들어집니다. 소스 L2 주소는 원래 컴퓨터의 Ether 주소가됩니다. L3 소스는 원래 컴퓨터의 IP 주소가됩니다. 대상 L2 및 L3 주소는 ARP에서 검색된 주소입니다. 그런 다음 패킷은 유선을 통해 스위치로 전송됩니다.

스위치는 대상 L2 주소를 검사 하고 지정된 Ether 주소가있는 물리적 포트를 식별하기 위해 CAM 테이블 에서 조회합니다 . 그런 다음 패킷은 올바른 물리적 포트에서 유선을 통해 전송됩니다.

경우 대상 컴퓨터를 수신하고, 먼저 L2 주소가 확인 패킷을 수신 된 상기 물리적 인터페이스의 L2 주소와 일치하는지 확인하도록 검사한다. 일치하면 L3 주소를 확인하여 물리적 인터페이스에 할당 된 레이어 3 주소와 일치하는지 확인합니다. 이 모든 것이 체크 아웃되면 패킷은 상위 계층 프로토콜 (이 경우 커널에서 처리하는 ICMP)에 의해 처리됩니다. 그렇지 않으면 패킷이 삭제됩니다.

ICMP 응답의 경우 응답 컴퓨터가 ARP 요청을 보낼 필요가 없다는 점을 제외하고는 거의 동일한 방식으로 작동합니다. L2 / L3 쌍이있는 패킷을 수신했기 때문에 대신 ARP 캐시에 직접 설치할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동일한 네트워크에있는 두 컴퓨터 간의 통신을 위해 포트 포워딩이 필요합니까?

분류에서Dev

두 컴퓨터간에 유선 1 : 1 네트워크 연결을 설정하려면 어떻게합니까?

분류에서Dev

동일한 네트워크에있는 두 대의 컴퓨터가 동일한 MAC 주소를 사용하면 어떻게됩니까?

분류에서Dev

Unix / Linux OS에서 동일한 네트워크에 두 개의 네트워크 인터페이스가 있으면 어떻게됩니까?

분류에서Dev

Linux 네트워킹 : 두 번째 IPv4 인터페이스를 통해 인터넷에서 들어오는 IPv6 연결을 로컬 네트워크의 다른 컴퓨터로 전달하는 방법은 무엇입니까?

분류에서Dev

일광 절약 시간은 컴퓨터에서 어떻게 작동합니까?

분류에서Dev

두 개의 네트워크 어댑터가있는 컴퓨터가 Arp에서 검색됩니다.

분류에서Dev

동일한 네트워크에서 라우터 뒤의 스위치 뒤에있는 컴퓨터에 어떻게 연결합니까?

분류에서Dev

라우터에 연결된 두 컴퓨터간에 파일을 공유하려면 어떻게합니까?

분류에서Dev

내 컴퓨터 네트워크 이름 (Linux)은 어떻게 찾습니까?

분류에서Dev

메모리 매핑 파일을 사용하여 동일한 컴퓨터에있는 서버와 클라이언트간에 어떻게 통신합니까?

분류에서Dev

WiFi 네트워크에서 로컬 컴퓨터 간의 데이터 전송 속도를 높이려면 어떻게합니까?

분류에서Dev

동일한 Wi-Fi 네트워크에서 두 Ubuntu 컴퓨터 사이의 엄청난 지연 시간

분류에서Dev

한 컴퓨터에서 다른 컴퓨터로 이동 한 게스트 VM의 네트워크 연결을 수정하는 방법은 무엇입니까?

분류에서Dev

동일한 PC에서 두 네트워크 어댑터 간의 처리량을 테스트하는 방법은 무엇입니까?

분류에서Dev

홈 네트워크에있는 두 컴퓨터의 연결이 끊어짐

분류에서Dev

별도의 네트워크 주소가있는 네트워크에서 특정 컴퓨터를 찾기 위해 IP 범위가 어떻게 작동합니까?

분류에서Dev

별도의 네트워크 주소가있는 네트워크에서 특정 컴퓨터를 찾기 위해 IP 범위가 어떻게 작동합니까?

분류에서Dev

내 컴퓨터의 방화벽이 동일한 네트워크에있는 장치를 허용하도록하려면 어떻게합니까?

분류에서Dev

내 네트워크의 다른 컴퓨터를 통해 네트워크 트래픽을 라우팅하려면 어떻게해야합니까?

분류에서Dev

홈 네트워크를 통해 여러 컴퓨터간에 폴더를 동기화하려면 어떻게해야합니까?

분류에서Dev

컴퓨터가 하단 레이어의 두 숫자를 어떻게 비교합니까?

분류에서Dev

플래시 드라이브를 사용하는 네트워크가없는 두 개의 로컬 호스트 컴퓨터에서 MySQL 데이터베이스를 어떻게 공유 / 사용합니까?

분류에서Dev

추가 소프트웨어를 설치하지 않고 LAN에서 두 Ubuntu 컴퓨터간에 파일을 전송하려면 어떻게해야합니까?

분류에서Dev

두 컴퓨터간에 이메일을 보내는 가장 간단한 방법은 무엇입니까?

분류에서Dev

내 로컬 네트워크의 컴퓨터에 동적 IP를 어떻게 할당 할 수 있습니까?

분류에서Dev

컴퓨터 이름으로 홈 네트워크에있는 컴퓨터에 어떻게 액세스합니까?

분류에서Dev

RJ11 모듈 식 전화 케이블을 통해 두 컴퓨터간에 네트워크를 설정하는 방법은 무엇입니까?

분류에서Dev

여러 사용자간에 단일 컴퓨터를 공유하려면 어떻게합니까?

Related 관련 기사

  1. 1

    동일한 네트워크에있는 두 컴퓨터 간의 통신을 위해 포트 포워딩이 필요합니까?

  2. 2

    두 컴퓨터간에 유선 1 : 1 네트워크 연결을 설정하려면 어떻게합니까?

  3. 3

    동일한 네트워크에있는 두 대의 컴퓨터가 동일한 MAC 주소를 사용하면 어떻게됩니까?

  4. 4

    Unix / Linux OS에서 동일한 네트워크에 두 개의 네트워크 인터페이스가 있으면 어떻게됩니까?

  5. 5

    Linux 네트워킹 : 두 번째 IPv4 인터페이스를 통해 인터넷에서 들어오는 IPv6 연결을 로컬 네트워크의 다른 컴퓨터로 전달하는 방법은 무엇입니까?

  6. 6

    일광 절약 시간은 컴퓨터에서 어떻게 작동합니까?

  7. 7

    두 개의 네트워크 어댑터가있는 컴퓨터가 Arp에서 검색됩니다.

  8. 8

    동일한 네트워크에서 라우터 뒤의 스위치 뒤에있는 컴퓨터에 어떻게 연결합니까?

  9. 9

    라우터에 연결된 두 컴퓨터간에 파일을 공유하려면 어떻게합니까?

  10. 10

    내 컴퓨터 네트워크 이름 (Linux)은 어떻게 찾습니까?

  11. 11

    메모리 매핑 파일을 사용하여 동일한 컴퓨터에있는 서버와 클라이언트간에 어떻게 통신합니까?

  12. 12

    WiFi 네트워크에서 로컬 컴퓨터 간의 데이터 전송 속도를 높이려면 어떻게합니까?

  13. 13

    동일한 Wi-Fi 네트워크에서 두 Ubuntu 컴퓨터 사이의 엄청난 지연 시간

  14. 14

    한 컴퓨터에서 다른 컴퓨터로 이동 한 게스트 VM의 네트워크 연결을 수정하는 방법은 무엇입니까?

  15. 15

    동일한 PC에서 두 네트워크 어댑터 간의 처리량을 테스트하는 방법은 무엇입니까?

  16. 16

    홈 네트워크에있는 두 컴퓨터의 연결이 끊어짐

  17. 17

    별도의 네트워크 주소가있는 네트워크에서 특정 컴퓨터를 찾기 위해 IP 범위가 어떻게 작동합니까?

  18. 18

    별도의 네트워크 주소가있는 네트워크에서 특정 컴퓨터를 찾기 위해 IP 범위가 어떻게 작동합니까?

  19. 19

    내 컴퓨터의 방화벽이 동일한 네트워크에있는 장치를 허용하도록하려면 어떻게합니까?

  20. 20

    내 네트워크의 다른 컴퓨터를 통해 네트워크 트래픽을 라우팅하려면 어떻게해야합니까?

  21. 21

    홈 네트워크를 통해 여러 컴퓨터간에 폴더를 동기화하려면 어떻게해야합니까?

  22. 22

    컴퓨터가 하단 레이어의 두 숫자를 어떻게 비교합니까?

  23. 23

    플래시 드라이브를 사용하는 네트워크가없는 두 개의 로컬 호스트 컴퓨터에서 MySQL 데이터베이스를 어떻게 공유 / 사용합니까?

  24. 24

    추가 소프트웨어를 설치하지 않고 LAN에서 두 Ubuntu 컴퓨터간에 파일을 전송하려면 어떻게해야합니까?

  25. 25

    두 컴퓨터간에 이메일을 보내는 가장 간단한 방법은 무엇입니까?

  26. 26

    내 로컬 네트워크의 컴퓨터에 동적 IP를 어떻게 할당 할 수 있습니까?

  27. 27

    컴퓨터 이름으로 홈 네트워크에있는 컴퓨터에 어떻게 액세스합니까?

  28. 28

    RJ11 모듈 식 전화 케이블을 통해 두 컴퓨터간에 네트워크를 설정하는 방법은 무엇입니까?

  29. 29

    여러 사용자간에 단일 컴퓨터를 공유하려면 어떻게합니까?

뜨겁다태그

보관