网络编程(初)

本文介绍了计算机网络的基本概念,包括网络互联的必要性、局域网和广域网的区别、IP地址和端口号的作用,以及TCP/IP协议中的三次握手和四次挥手过程。此外,还概述了OSI七层和TCP/IP五层模型的分工。
摘要由CSDN通过智能技术生成

1.什么是计算机网络

把分布在不同地区的且具有独立功能的计算机,通过通信线路链接起来,能够实现资源共享的网络叫做计算机网络

2.网络互联

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。

网络互连:将多台计算机连接在一起,完成数据共享。

数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。

根据网络互连的规模不同,可以划分为局域网和广域网。

3.局域网LAN

局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的

局域网又分为 1.基于网线直连 2.基于路由器组建 3.基于交换机组建4.基于路由器和交换机组建

广域网WAN:通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。

3.IP地址

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

格式为一个32的二进制的数,通常被分为四部分,即四个8位的二进制数,例如0000000 10000000 10000101 11010101(一个8位的二进制数为一个字节

通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.3.5.6。)

4.端口号

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程

格式为0~65535范围的数字

注:两个不同的进程不可以绑定同一个端口号,但是一个进程可以绑定多个端口号

5.协议

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流(最终体现为在网络上传播的数据包的格式)

三要素为:语义,语法,时序

语义:即需要发出何种控制信息,完成何种动作以及做出何种响应

语法:即数据与控制信息的结构或格式

时序,即事件实现顺序的详细说明

协议的端口号范围为0到65535,其中0到1023为知名端口号

三次握手(TCP的链接过程)

1.第一次握手:客户端向服务端发送连接请求报文段。该报文段中包含自身的数据通讯初始序号。请求发送后,客户端便进入 SYN-SENT 状态

客户端---->服务端:客户端向服务端请求连接

2.第二次握手:服务端收到连接请求报文段后,如果同意连接,则会发送一个应答,该应答中也会包含自身的数据通讯初始序号,发送完成后便进入 SYN-RECEIVED 状态。

客户端<----服务端:服务端告诉客户端可以连接

3.第三次握手:当客户端收到连接同意的应答后,还要向服务端发送一个确认报文。客户端发完这个报文段后便进入 ESTABLISHED 状态,服务端收到这个应答后也进入 ESTABLISHED 状态,此时连接建立成功。

客户端---->服务端:客户端直接连接服务端

四次挥手(Tcp断开过程)

TCP 是全双工的,在断开连接时两端都需要发送 FIN 和 ACK。

第一次挥手:若客户端 A 认为数据发送完成,则它就需要向服务端 B 发送连接释放请求。

第二次挥手:B 收到连接释放请求后,会告诉应用层要释放 TCP 链接,然后会发送 ACK 包,并进入 CLOSE_WAIT 状态,此时表明 A 到 B 的连接已经释放,不再接收 A 发的数据了。但是因为 TCP 连接是双向的,所以 B 仍旧可以发送数据给 A。

第三次挥手:B 如果此时还有没发完的数据会继续发送,完毕后会向 A 发送连接释放请求,然后 B 便进入 LAST-ACK 状态。

第四次挥手:A 收到释放请求后,向 B 发送确认应答,此时 A 进入 TIME-WAIT 状态。该状态会持续 2MSL(最大段生存期,指报文段在网络中生存的时间,超时会被抛弃) 时间,若该时间段内没有 B 的重发请求的话,就进入 CLOSED 状态。当 B 收到确认应答后,也便进入 CLOSED 状态。

OSI七层模型

分层名称功能
应用层针对特定应用的协议
表示层设备固有数据格式和网络标准数据格式的转换
会话层通信管理.负责建立和断开通信链接,管理运输层以下的分层
传输层管理两个节点之间的传输
网络层地址管理与路由选择
数据链路层互联设备之间传送和识别数据帧
物理层界定连接器和网线之间的规格

TCP/IP五层模型

应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。

网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。

数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。

物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

在这里插入图片描述

链接: 参考资料

同一网段内两台主机进行文件传输:

在这里插入图片描述

以下为跨网段的主机的文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值