好书共赏

版权声明:人面不知何处去 https://blog.csdn.net/zuoside__lord/article/details/83445494
/*
 * 数据库是看不下去的,太难看了,不说关系代数了,所有数据库里面和理论有关的都好无聊
 * 所以当然是选择 计算机网络了,,,,不想看谢老的书,不管是自顶而上 还是什么自顶而下,也看不下 
 * 去,最后还是选择了《网络是怎样连接的》,还是这样的书可以看个100页再不想看。记录下自己从前不造 
 * 的,算鼓励自己看下去的一个反馈,,,,看了这个书软考那些还是不一定会,,不过something better 
 * than nothing
 *
 *  由于不学无术,所以感叹惊叹的有点多,正确与否 不造。它又不是个代码可以运行检验下
 */
1.原来url可以是ftp开头的,mailto开头的:一直以为只有http或者https

书:
尽管 URL 有各种不同的写法,但它们有一个共同点,那就是 URL 开
头的文字,即“http:”“ftp:”“file:”“mailto:”这部分文字都表示浏览器应
当使用的访问方法。比如当访问 Web 服务器时应该使用 HTTPA协议,而
访问 FTP 服务器时则应该使用 FTP 协议。

百度:url 
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
URL的一般语法格式为:
(带方括号[]的为可选项):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment

protocol(协议)
指定使用的传输协议,下表列出 protocol 属性的有效方案名称。 最常用的是HTTP协议,它也是目前WWW中应用最广的协议。
file 资源是本地计算机上的文件。格式file:///,注意后边应是三个斜杠。
ftp 通过 FTP访问资源。格式 FTP://
gopher 通过 Gopher 协议访问该资源。
http 通过 HTTP 访问该资源。 格式 HTTP://
https 通过安全的 HTTPS 访问该资源。 格式 HTTPS://
mailto 资源为电子邮件地址,通过 SMTP 访问。 格式 mailto:
MMS 通过 支持MMS(流媒体)协议的播放该资源。(代表软件:Windows Media Player)格式 MMS://
ed2k 通过 支持ed2k(专用下载链接)协议的P2P软件访问该资源。(代表软件:电驴) 格式 ed2k://
Flashget 通过 支持Flashget:(专用下载链接)协议的P2P软件访问该资源。(代表软件:快车) 格式 Flashget://
thunder 通过 支持thunder(专用下载链接)协议的P2P软件访问该资源。(代表软件:迅雷) 格式 thunder://
news 通过 NNTP 访问该资源。
hostname(主机名)
是指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)。
port(端口号)
整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
path(路径)
由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
parameters(参数)
这是用于指定特殊参数的可选项。
query(查询)
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
fragment(信息片断)
字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。

2.socket这些函数真的是有用的啊,捂脸,最近看了操作系统之类书发现那些函数真的是有用的啊,之前总是觉得它们就是老师给我们拿来做玩具的,实际可能和这些东西没有关系,但是不管是上一本忘记叫啥的还是这本书都清清楚楚地感觉那些什么系统调用啊还有tcp/ip协议调用之类确实和这些函数是有关系的。理论和实践是有关系的。

书:
1.4.1 数据收发操作概览
知道了 IP 地址之后,就可以委托操作系统内部的协议栈向这个目标 IP
地址,也就是我们要访问的 Web 服务器发送消息了。要发送给 Web 服务
器的 HTTP 消息是一种数字信息(digital data),因此也可以说是委托协议
栈来发送数字信息。收发数字信息这一操作不仅限于浏览器,对于各种使
用网络的应用程序来说都是共通的。因此,这一操作的过程也不仅适用于
Web,而是适用于任何网络应用程序A。下面就来一起探索这一操作的过程。
和向 DNS 服务器查询 IP 地址的操作一样,这里也需要使用 Socket 库中
的程序组件。不过,查询 IP 地址只需要调用一个程序组件就可以了,而这
里需要按照指定的顺序调用多个程序组件,这个过程有点复杂。发送数据是
一系列操作相结合来实现的,如果不能理解这个操作的全貌,就无法理解其
中每个操作的意义。因此,我们先来介绍一下收发数据操作的整体思路。

向操作系统内部的协议栈发出委托时,需要按照指定的顺序来调
用 Socket 库中的程序组件。

3.造了一些关于DNS
之前计算机网络里好多专有名词啊,很混晕,就是你可能知道它叫什么有什么用,但是什么时候用,用的过程是怎么样的,你不造,就更晕了,没有一个整体概念。
大概就是应用层准备好一个http消息以后就需要网络层的ip地址解析,

书:
生成 HTTP 消息之后,接下来我们需要委托操作系统将消息发送给
Web 服务器。尽管浏览器能够解析网址并生成 HTTP 消息,但它本身并不
具备将消息发送到网络中的功能,因此这一功能需要委托操作系统来实
现。在进行这一操作时,我们还有一个工作需要完成,那就是查询网址中
服务器域名对应的 IP 地址。在委托操作系统发送消息时,必须要提供的不
是通信对象的域名,而是它的 IP 地址。因此,在生成 HTTP 消息之后,下
一个步骤就是根据域名查询 IP 地址。在讲解这一操作之前,让我们先来简
单了解一下 IP 地址。

发送消息的功能对于所有的应用程序来说都是通用的,因此让操作系统来
实现这一功能,其他应用程序委托操作系统来进行操作,这是一个比较合
理的做法。

还有DNS查询过程竟然有点像树形结构




继续看书,目前看到创建套接字了,套接字没有什么意思,,,,,,,,,,,老是写的东西,,,,,0-0 ,秃头少女要快点看完书……

  • 准确地说,IP 地址不是分配给每一台设备的,而是分配给设备中安装的网
    络硬件的。因此,如果一台设备中安装了多个网络硬件,那么就会有多个
    IP 地址。(0-0)
  •  

关于这个 连接操作3次,,,,我还是觉得 没有什么意义啊,差不多就是 客户端发一个消息给服务端,然后服务端回一个消息给它表示我造了,然后客户端又给服务端发“我造你造了” 然后它们就开始玩耍了,当然按照这个书里写法,它们发的消息不是随便什么内容而是表示确认 还有和发送内容有关的东西,网络也很复杂啊0-0,一点都不想造tcp ip具体细节了……再也不敢说自己好奇心强了,突然发现这种书比那种一开始就不想看的书更讨厌,开始简单骗人看,后来难了不想看了,发现看了一半了放弃太可惜了……

总算觉得学的那个什么路由选择里计算下一跳算法有点用了,,,

首先,包是由头部和数据两部分构成的(图 2.14(a))。头部包含目的
地址等控制信息,大家可以把它理解为快递包裹的面单;头部后面就是委
托方要发送给对方的数据,也就相当于快递包裹里的货物。一个包发往目
的地的过程如图 2.15 所示。
首先,发送方的网络设备会负责创建包,创建包的过程就是生成含有
正确控制信息的头部,然后再附加上要发送的数据。接下来,包会被发往最近的网络转发设备。当到达最近的转发设备之后,转发设备会根据头部中的信息判断接下来应该发往哪里。这个过程需要用到一张表,这张表里
面记录了每一个地址对应的发送方向,也就是按照头部里记录的目的地址
在表里进行查询,并根据查到的信息判断接下来应该发往哪个方向。比如,
如果查表的结果是“目标地址为 ×××× 的包应该发到 ×××× 号线
路”,那么转发设备就会把这个包发到 ×××× 号线路去。接下来,包在
向目的地移动的过程中,又会到达下一个转发设备,然后又会按照同样的
方式被发往下一个转发设备。就这样,经过多个转发设备的接力之后,包
最终就会到达接收方的网络设备。当然,发送方向接收方发送一个包,接
收方可能也会向发送方返回一个包,此时的发送方到了接下来的某个时刻
就会变成接收方。因此,我们不需要把发送方和接收方明确区分开来,在
这里我们把发送方和接收方统称为终端节点A。
前面介绍的这些基本知识,对于各种通信方式都是适用的,当然也适
用于 TCP/IP 网络。不过,TCP/IP 包的结构是在这个基本结构的基础上扩
展出来的,因此更加复杂。在第 1 章 1.2.1 节,我们讲过子网的概念,还讲
过网络中有路由器和集线器两种不同的转发设备,它们在传输网络包时有
着各自的分工。
(1)路由器根据目标地址判断下一个路由器的位置
(2)集线器在子网中将网络包传输到下一个路由
实际上,集线器是按照以太网规则传输包的设备,而路由器是按照 IP
规则传输包的设备,因此我们也可以作如下理解。
(1)IP 协议根据目标地址判断下一个 IP 转发设备的位置
(2)子网中的以太网协议将包传输到下一个转发设备



 

猜你喜欢

转载自blog.csdn.net/zuoside__lord/article/details/83445494