网络编程学习----(1)网络通讯基础知识

1 多台机器之间通讯的基本原理
2 什么是协议
3 TCP/IP协议参考模型
4 TCP/IP模型与OSI模型的比较
5 TCP/IP 协议数据封装的过程
6 TCP/IP各个层次的简介

一、多台机器之间通讯的基本原理

  • 1 找到对方IP。
  • 2 数据需要发送到对方指定的应用程序上。为了标识应用程序,所以给这些网络应用程序都用数字进行标识。为了方便称呼这个数字,叫做“端口”,也叫逻辑端口。
  • 3 协议:定义通讯规则,这个通讯规则称为协议。国际组织定义了通用协议TCP/IP。
  • 4 IP地址段:IPV4(4段0-255字段使用)和IPV6(6段,包括数字)
  • 5 网络传输三要素:IP、端口和协议。

2 什么是协议

为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”。描述网络通信中“语言”规范的一组规则就是协议。

(1) 协议分层

网络通信的过程很复杂:数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读。为了降低网络设计的复杂性,将协议进行了分层设计。
分层设计的意义:

  • 用户服务层的模块设计可相对独立于具体的通信线路和通信硬件接口的差别;
  • 而通信服务层的模块设计又可相对独立于具体用户应用要求的不同;

(2) OSI分层--七层框架

image.png

3 TCP/IP协议参考模型

由于OSI模型和协议比较复杂,所以并没有得到广泛的应用。于是20世纪70年代中期美国国防部为ARPANET开发了TCP/IP网络体系结构, TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。
基于TCP/IP的参考模型将协议分成四个层次和5个层次,四层分别是:网络访问层、网际互连层、传输层(主机到主机)、和应用层。


image.png

(1)TCP/IP各层对应的协议

image.png

(2)常用网络协议

image.png

image.png

4 TCP/IP模型与OSI模型的比较

相同点:

  • 两者都是以协议栈的概念为基础;
  • 协议栈中的协议彼此相互独立;
  • 下层对上层提供服务;

不同点:

  • OSI是先有模型;TCP/IP是先有协议,后有模型;
  • OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络;
  • 层次数量不同;

5 TCP/IP 协议数据封装的过程

以传输层采用TCP或者UPD、网络层采用IP、链路层采用Ethernet。

用户数据经过应用层协议封装后传递给传输层,传输层封装TCP头部,交给网络层,网络层封装IP头部后,再交给数据链路层,数据链路层封装Ethernet帧头和帧尾,交给物理层,物理层以比特流的形式将数据发送到物理线路上。

image.png

6 TCP/IP各个层次的简介

(1)物理层-网络的基础

物理层是TCP/IP模型的最底层

功能:物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境, 它利用传输介质为数据链路层提供物理连接。

(2)数据链路层——以太网

数据链路可以粗略地理解为数据通道。

功能:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。

数据链路层的重要知识点:

  • 数据链路层为网络层提供可靠的数据传输;
  • 基本数据单位为帧;
  • 主要的协议:以太网协议;
  • 两个重要设备名称:网桥和交换机。

(3) 网络层

  • (1)定义了基于IP协议的逻辑地址
  • (2) 连接不同的媒介类型
  • (3) 选择数据通过网络的最佳路径

网络层的重点为:

  • (1)、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

  • (2)、基本数据单位为IP数据报;

  • (3)、 包含的主要协议:
    IP协议(Internet Protocol,因特网互联协议);
    ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
    ARP协议(Address Resolution Protocol,地址解析协议);
    RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

  • (4)、 重要的设备:路由器

(4)传输层

传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)


image.png

功能:为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。

传输层的重点:
(1)、传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
(2)、包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
(3)、重要设备:网关。

(5)应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。

应用层协议可分为3类:
(1)依赖于TCP的应用协议,如远程终端协议Telnet,文件传输型的电子邮件协议SMTP,文件传输协议FTP,超文本传输协议HTTP,外部网关协议BGP等。
(2)依赖于UDP的协议,例如单纯文件传输协议TFTP,简单网络管理协议SNMP,域名系统DNS,内部网关协议RIP,动态主机配置协议DHCP和引导程序协议BOOTP等。
(3)依赖于TCP和UDP的协议,如通信用管理信息协议CMOT。当然,一些没有标准化的建立在TCP/ IP协议簇之上的用户应用程序(或专用程序)也属于应用层。


image.png

END

你可能感兴趣的:(网络编程学习----(1)网络通讯基础知识)