网络基础

OSI参考模型和TCP/IP参考模型

在这里插入图片描述

  • 左为OSI参考模型,它是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
  • TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,如图右。

OSI参考模型各个层次及其功能

层次功能
物理层(最底层)建立、维护、断开物理连接
数据链路层提供介质访问和链路管理,将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正
网络层IP地址及路由选择
传输层建立、整理、和维护端到端的连接、进行数据的传输
会话层建立、管理和维护会话
表示层数据格式转化、数据加密。格式有,JPEG、ASCll、DECOIC、加密格式等
应用层为应用程序提供服务

TCP/IP模型各个层次及其内容

层次功能主要协议
网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。
网络层主要解决主机到主机的通信问题,它还负责数据包在多种网络中的路由。ARP地址解析协议 / IP网际协议/ ICMP 差错报文协议 / IGMP互联网组管理协议
传输层为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性TCP 传输控制协议 /UDP用户数据报协议 /
应用层为用户提供所需要的各种服务FTP 文件传输协议/SMTP发送邮件协议 /POP接收邮件协议

TCP就相当于中国邮政快递,用来做运输服务
IP就相当于邮政编码,用来唯一标记目的地

为什么我们现在使用TCP/IP模型,而不是OSI模型呢?

首先,纠正一个自己一直以来的误区,TCP/IP模型的出现要早于OSI模型。

在通信过程中,之所以使用TCP/IP模型,是因为OSI模型是根据理论设计的,从完整性上讲,OSI更加完备,但是TCP/IP是边设计边实现的,最开始的协议栈的实现就是根据四层模型做的,已经有很多商家支持四层模型了,很多现有系统不可能再去返工。

而且,OSI模型自身也有缺陷,层次划分的过于细,会话层和表示层几乎是空的,而数据链路层和网络层包含内容又太多,协议极其复杂,导致系统效率降低。

两种Internet的接入方式(内网和外网)

IP的定义

IP是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。常见的IP地址,分为IPv4与IPv6两大类。目前还有些ip代理软件,但大部分都收费。

IP地址在用户上网时才有,它不是固定的,连接的网络不同,显示的IP地址也不同。

内外网的定义

定义:
内网通俗的说就是局域网LAN网,外网通俗的说就是与因特网相通的WAN广域网或 MAN 城域网路。内网和外网是相对而言的。

外网通过任意内网都可以访问,如百度,腾讯的IP都是外网IP,当开放了相应端口之后,我们网络上的任意主机都可以访问。

内网只能在内部主机之间访问。

目的:
外网IP是比较紧张的,因此,为了解决外网不足的问题,一般用户都采用内网来接入互联网

内网地址:

10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.55

内网地址是局域网内给主机分配的IP地址,该地址外网无法直接访问,只能内网主机之间进行访问。

图解接入方式
在这里插入图片描述如图,可以通过公网和内网两种方式接入互联网。
对于内网来说,通过路由器上的LAN插口(一般为4个)可以连接不同的主机,(路由的WAN接口可以连接外网IP),这些主机,在内部各自有各自的IP地址,但是对于外网来说,它显示的只有一个IP地址,这样在极大程度上缓解了IP地址不足的问题。

对于内网来说,不同内网之间主机的IP地址可以重复,
同一内网之间的IP地址不可以重复。

因此,一般来说,外网(公网)IP的主机做服务器。
内网IP的主机做客户端。

端口号

有了TCP和IP之后,就可以实现主机之间的通信,但是我们还需要端口号来区分数据是属于哪一个应用程序的,因为一台主机可以同时运行多个应用程序。
所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。 为了对端口进行区分,将每个端口进行了编号,这就是端口号。

常见端口号:

端口号服务
21FTP #文件传输
23Telnet #远程登录
25SMTP #邮件发送
80HTTP #访问网页
8080#代理访问网页端口,一般在开发过程中使用
443HTTP #加密的访问网页
53DNS #域名系统

HTTP协议

HTTP协议的定义

HTTP(HyperText Transfer Protocol,超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它是指WWW服务器传输超文本到本地浏览器的传输协议。它请求和响应消息的头以ASCII码形式给出。

HTTP是一个无状态协议。

扩展:
无状态协议是指比如客户获得一张网页之后关闭浏览器,然后再一次启动浏览器,再登录该网站,但是服务器并不知道客户关闭了一次浏览器。

HTTP协议的工作过程

一个HTTP操作称为一个事务,分为以下四步

  1. 客户机与服务器建立连接。(只要单击某个超链接,HTTP工作就开始)
  2. 建立连接后,客户机发送请求给服务器。(请求格式为:统一资源定位符 URL 协议版本号 MIME信息包括请求修饰符、客户机信息和可能的内容)
  3. 服务器收到请求后,发送回应信息。(回应格式为一个状态行,包括协议的版本号、一个成功或者错误的代码、MIME信息包括服务器信息、实体信息和可能的内容)
  4. 客户机接收服务器所返回的信息通过浏览器显示在用户的显示屏上,客户机与服务器断开连接。

用SocketTool工具模拟服务器和客户机通信过程

1.创建tcpClient,向百度服务器发送数据,请求百度主页。
在这里插入图片描述
输入命令,点击连接, 发送数据

在这里插入图片描述百度服务器返回主页的HTML代码
在这里插入图片描述
2.使用本地主机,打开两个进程,一个做客户机,一个做服务器,测试数据传输。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值