计算机网络原理初识

计算机网络——网络原理初识

文章目录

  • IP地址
    • 1.概念
    • 2.格式
    • 3.特殊IP
  • 端口号
    • 1.概念
    • 2.格式
  • 协议
    • 1.什么是协议
    • 2.协议分层
  • 五元组
  • OSI七层网络模型
  • TCP/IP五层模型
  • 封装和复用

IP地址

1.概念

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址是用于定位主机的网络地址。

2.格式

IP地址本质是32位二进制代码,但32位的二进制代码不方便人们读取记忆。一般都是把这个32位的整数按照每个字节,分成四个部分,中间用 . 来分割。(称为“点分十进制”)
例如
计算机网络原理初识_第1张图片
转化后IP地址为128.4.5.6

3.特殊IP

127.* 通常是 127.0.0.1(回环IP,表示自己主机的IP)

端口号

1.概念

端口号可以标识主机中发送和接收数据的进程。简单说:端口号用于定位主机中的进程。

2.格式

端口号本质是2个字节(16位)的无符号整数,范围是0~65535

注意事项:一个进程可以有多个端口号,但是进程与进程之间不能有相同的端口号!!!

协议

1.什么是协议

先问一个小问题:网络通信都是基于二进制0/1来传输,那怎么告诉对方发送的数据是什么呢?
协议就是来解决这个问题的。

协议本质上就是约定,发出来的数据是啥样式的,接收方用什么方式来解析~

2.协议分层

网络通信的过程很复杂,有很多细节~
如果只通过一个协议来约定所有的细节,这个协议就会非常庞大,复杂~
更好的办法就是,把一个巨大的协议拆成很多小的,简单的协议,负责自己部分的工作~

这样做的好处:
1.每层协议不需要理解其它层协议的细节。(更好的做到了封装)

打电话的人,不需要理解手机的工作原理,就能完成打电话~
制造电话的人也不需要知道他们的客户打电话时说什么语言~

2.把对应层的协议换成其他的协议(更好的耦合)

打电话的人可以说中文也可以说英语~

五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

1.源IP:标识源主机
2.源端口号:标识源主机中该次通信发送数据的进程
3.目的IP:标识目的主机
4.目的端口:标识目的主机该词通信接收数据的进程
5.协议号:标识发送进程和接受进程双方约定的数据格式

五元组在网络通信中就类似发快递
计算机网络原理初识_第2张图片
可以在cmd中,输入nestat -ano查看网络数据传输中的五元组信息。

OSI七层网络模型

OSI: 即Open System Interconnection,开放系统互联

计算机网络原理初识_第3张图片
OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。
实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

TCP/IP五层模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

应用层负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远
程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
传输层负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
网络层负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
物理层负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

计算机网络原理初识_第4张图片
网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。
以下为同一个网段内的两台主机进行文件传输:
计算机网络原理初识_第5张图片
两台计算机通过TCP/IP协议通讯的过程如下
TCP/IP
计算机网络原理初识_第6张图片

封装和复用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)。
首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息。
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。

数据封装过程:
计算机网络原理初识_第7张图片
数据分用过程:
计算机网络原理初识_第8张图片

你可能感兴趣的:(网络原理,java,网络)